Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 将任意数量的参数传递给AS3中的函数_Function_Actionscript 3_Flash_Parameters - Fatal编程技术网

Function 将任意数量的参数传递给AS3中的函数

Function 将任意数量的参数传递给AS3中的函数,function,actionscript-3,flash,parameters,Function,Actionscript 3,Flash,Parameters,如何将任意数量的参数传递给函数 调用未知函数(从字符串)时,我希望将参数传递给该函数。参数存储在一个数组中: var arr:Array = ["param1","param2"]; arr中可以有任意数量的元素。函数中也可以有任意数量的参数,并且这些参数的数量可以彼此不同 到目前为止,我一直在这样做以调用函数: this[functionName](parameter); 但这只允许一个参数。无论需要多少,我如何将它们全部输入 编辑:为了清楚起见,我希望以相同的方式访问函数,但我不知道它可

如何将任意数量的参数传递给函数

调用未知函数(从字符串)时,我希望将参数传递给该函数。参数存储在一个数组中:

var arr:Array = ["param1","param2"];
arr
中可以有任意数量的元素。函数中也可以有任意数量的参数,并且这些参数的数量可以彼此不同

到目前为止,我一直在这样做以调用函数:

this[functionName](parameter);
但这只允许一个参数。无论需要多少,我如何将它们全部输入

编辑:为了清楚起见,我希望以相同的方式访问函数,但我不知道它可能有多少个参数。我想将参数数组转储到未知函数中。我不确定函数有多少个参数,我通常假设数组的长度等于函数中的参数数(如果出现任何错误,将抛出一个错误,这很好)。

要实现该方法,请使用该方法

例如:


此[functionName].apply(null,arr)

另一种可能实现此目的的方法是:

function myFunction(arg:String, arg2:String, ... args)
args
不是关键字。然后调用如下函数:

 myFunction("foo","bar","sink",12,);
我昨天刚找到这个,并用它传递动画的关键帧,如下所示:

function animateChar(o:Sprite, startFrame:int, rec:Rectangle, ...keyFrames):void
    // loop like keyFrames is an Array
    trace(keyFrames[i])

and called it like this:

animateChar(character,5,myRec,{f:3,t:2},{f:2,t:2},{f:1,t:2});

可能重复使用数组作为参数?我不想在所有函数中使用数组作为参数。我可能要访问几十个函数,而使用数组是一种丑陋的黑客行为,我不想陷入其中。@akmozo是的,这是重复的。很抱歉。我确实认为我的答案更有意义,而fsbmain的正确答案更简洁