您如何在ActionScript中超载函数?
我想要一个能够接受各种类型的函数。 AS3 不支持直接重载...所以我不能执行以下操作:
//THIS ISN'T SUPPORTED BY AS3
function someFunction(xx:int, yy:int, someBoolean:Boolean = true){
//blah blah blah
}
function someFunction(arr:Array, someBoolean:Boolean = true){
someFunction(arr[0], arr[1], someBoolean);
}
如何解决它并且仍然有一个能够接受各种类型参数的函数?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您只想接受任何类型,则可以使用
*
允许任何类型:如果您有大量订单不重要的各种参数,请使用选项对象:
如果您有一个可变数量的参数,您可以使用
...
(reta)参数:对于需要将共同函数调用到许多多个多个功能的情况类,您应该指定每个类共有的接口:
If you just want to be able to accept any type, you can use
*
to allow any type:If you have a large number of various parameters where order is unimportant, use an options object:
If you have a variable number of parameters, you can use the
...
(rest) parameter:For cases where you need to call a common function to a number of classes, you should specify the interface common to each class:
可以:
这样你就可以轻松地循环你的参数等(甚至检查参数类型):
Could just have:
This way you can easily loop through your arguments and such too (and even check the argument type):