到达功能范围的根

时间:2014-10-07 13:06:01

标签: actionscript-3 flash

有没有办法引用函数范围的根。

如果一个对象“myObject”有变量“s0,s1& s2”,则可以通过这样的for循环到达它们:

for(var i:int = 0; i < 3; i++)
    trace(myObject['s'+i]);

如果代码进入对象,甚至使用'this':

for(var i:int = 0; i < 3; i++)
    trace(this['s'+i]);

有没有办法在函数内执行此操作:

var s0:String = 'xx';
var s1:String = 'yy';
var s2:String = 'zz';

function func(s0:String, s1:String, s2:String)
{
    for(var i:int = 0; i < 3; i++)
        trace(this['s'+i]);
}

func('aa','bb','cc');

func会跟踪'aa','bb'和&amp; 'cc'代替'xx','yy'&amp; 'zz'?

1 个答案:

答案 0 :(得分:0)

您可以使用函数中可用的arguments对象为您提供有关传递给它的参数的信息(请参阅documentation):

var s0:String = 'xx';
var s1:String = 'yy';
var s2:String = 'zz';

function func(s0:String, s1:String, s2:String)
{
    for(var i:int = 0; i < arguments.length; i++)
        trace(arguments[i]);
}

func('aa','bb','cc');