如何在不知道名字的情况下遍历所有参数

时间:2011-11-30 06:49:19

标签: actionscript-3

我有一些接受几个参数的函数。

public function somefunc(param1:String, param2:String, param3:String):void{

}

有没有办法循环遍历所有参数(不知道多少或它们的名称)并将它们放入某种带有名称的数组中,所以我会得到一个关联数组

[
param1: "value 1"
param2: "value 2"
param3: "value 3"
]

2 个答案:

答案 0 :(得分:4)

对象arguments存储函数的参数,您可以使用length属性来获取参数的数量。但是它没有提供参数的名称,即它不会提供名称param1, param2等。它只会提供它们的值。

答案 1 :(得分:2)

您可以在函数参数列表中使用rest参数(...)来接受任意数量的参数并循环遍历它们,如下所示:

 public function somefunc(param1:String, param2:String, param3:String, ... rest):void {
    for (var i:int = 0; i < rest.length; i++) {
        trace(rest[i]);
    }
 }

调用你的函数看起来像这样:

somefunc(param1, param2, param3, param4, param5, ect);