AS3如何使用循环访问变量并设置其值

时间:2012-12-26 08:34:23

标签: actionscript-3 loops dynamic set

我有一个变量列表(a1到a4),我想使用for循环访问所有变量并设置它们的值。 如何在AS3中做到这一点?

var a1:Number = 0;
var a2:Number = 0;
var a3:Number = 0;
var a4:Number = 0;

// the primitive way
function setAllToFive():void{
                a1 = 5;
                a2 = 5;
                a3 = 5;
                a4 = 5;
}

// the smart way
function setAllToFiveAlt():void{
                for (var i:uint = 1; i<5; i++){
                  // how to get all the variables in one line ??

                }             
}

如何在一行中获取所有变量?

谢谢, 然

2 个答案:

答案 0 :(得分:0)

如果你只有四个固定变量,你也可以去:

//define multiple variables on 1 line
var a1:Number, a2:Number, a3:Number, a4:Number;

// set the value of all the variables on 1 line
a1 = a2 = a3 = a4 = 5;

答案 1 :(得分:0)

另一种方法是使用带有字符串的方括号表示法来引用属性/变量名称:

function setAllToFiveAlt():void
{
    for (var i:uint = 1; i<5; i++)
    {
        this["a" + i] = 5;
    }             
}

请注意,我们使用+运算符将字符串“a”与整数i连接起来,它会自动调用整数上的toString()方法。