例如,我在AS3.0类中声明了函数:
private function log():void{
// working with arguments directly here
}
我在打电话:
log('some stuff',object,array,etc);
然后我打电话:
log('ok');
Ofc FlashBuilder抛出异常:type 1137: Incorrect number of arguments. Expected no more than 0
怎么做?
更新
在javascript中它是可能的。但在AS不是,它不是以ECMA为基础的吗?为什么这么严格......
更新
好的nvm。像atm那样创建:log(m1:*=null,m2:*=null,m3:*=null,m4:*=null,m5:*=null):void{}
答案 0 :(得分:5)
您可以使用...
rest参数:
文档示例:
function average(... args) : Number{
var sum:Number = 0;
for (var i:uint = 0; i < args.length; i++) {
sum += args[i];
}
return (sum / args.length);
}