Rob*_*cks 4 flash methods arguments actionscript-3
如何在自定义方法中接受多个参数?喜欢:
Proxy(101, 2.02, "303");
function Proxy(args:Arguments){
Task(args);
}
function Task(var1:int, var2:Number, var3:String){
// work with vars
}
Run Code Online (Sandbox Code Playgroud)
您将无法像在问题中那样直接传递args数组.你必须单独传递args数组的每个元素.
function Proxy(... args)
{
// Simple with no error checking.
Task(args[0], args[1], args[2]);
}
Run Code Online (Sandbox Code Playgroud)
UDATE
阅读其中一条评论之后,看起来你可以逃脱:
function Proxy(... args)
{
// Simple with no error checking.
Task.apply(null, args);
// Call could also be Task.apply(this, args);
}
Run Code Online (Sandbox Code Playgroud)
小心点 apply()的性能明显慢于使用传统方法调用函数.
您也可以使用对象中的apply(thisArg:*, argArray:*):*方法Function。
例:
包{
public class Test{
public function Test(){
var a:Array=[1,"a"];
callMe.apply(this,a);
}
public function callMe(a:Number,b:String):void{
trace(a,b);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8419 次 |
| 最近记录: |