如何在ActionScript中使用数组调用varargs函数?

Chr*_*s R 5 apache-flex flex3 actionscript-3

我需要调用一个varargs函数:

function doSomething(... args): Object {
    // do something with each arg
}
Run Code Online (Sandbox Code Playgroud)

但是,我正在为此动态构建参数:

var someArgs: Array = ['a', 'b', 'c'];
doSomething(someArgs);
Run Code Online (Sandbox Code Playgroud)

问题是,当我以这种方式调用函数时,args最终会成为具有someArgs第一个元素的1元素数组,而不是三元素数组.

我怎么能说doSomethingsomeArgs作为参数数组?

(对于搜索引擎,这是参数解包)

小智 9

使用Function.apply.

像这样:

doSomething.apply(null, someArgs);
Run Code Online (Sandbox Code Playgroud)

如果doSomething是类的方法,则传入类而不是null.