Actionscript:调用具有未知参数的函数计数

时间:2012-03-04 16:42:23

标签: flash actionscript

例如,我在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{}

1 个答案:

答案 0 :(得分:5)

您可以使用... rest参数:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/statements.html#..._(rest)_parameter

文档示例:

function average(... args) : Number{
    var sum:Number = 0;
    for (var i:uint = 0; i < args.length; i++) {
        sum += args[i];
    }
    return (sum / args.length);
}