jed*_*ikb 9 apache-flex flash actionscript actionscript-3
一些as3函数通过使用约定允许任意数量的参数来处理重载:
public function doSomething( ... rest ):void;
Run Code Online (Sandbox Code Playgroud)
我处于这样一种情况,我需要将数组的所有值(任意长度)传递给这种类型的函数...我不知道如何做到这一点.建议?
这是一个黑客解决方案,但它不可扩展:
switch (args.length) {
case 0: doSomething(); break;
case 1: doSomething(args[0]); break;
case 2: doSomething(args[0], args[1]); break;}
Run Code Online (Sandbox Code Playgroud)
Che*_*try 15
检查函数#Applied().它允许您将参数作为数组传递.
doSomething.apply(contextObj, args);
Run Code Online (Sandbox Code Playgroud)