如何正确地将计数器的值添加到变量名称

时间:2013-02-11 09:45:37

标签: javascript variables

它似乎很容易,但我很少迷路...... 我需要的是将计数器值添加到变量名称。

for (var i=0; i<8; i++){
   var upBt0; //this is the name in the first iteration
   var upBt1; //this is the name in the second iteration
   .
   .
   .
   var upBt8; //this is the name in the last iteration
}

我该如何正确地做到这一点? 对不起,丹尼尔

修改

for (var i=0; i<8; i++)
    {
        this.upBt = "upBt"+i;
        this.upBt = new PL_Button().init("upBarButton"+i);
}

我创建按钮......特别是8个按钮...... 之后,我需要访问每个按钮:

function (){
    this.upBt1;
    this.upBt1;
    this.upBt3;
    this.upBt6;
}

希望更好地解释了。

编辑2 : 最后,我使用类的辅助数组解决了它,我在每次迭代中推送了每个对象。这个数组的每个项都是对每个对象的实际引用,因此更改了数组中的项,也在相应的对象中进行了更改... 希望已经解释清楚。

感谢您的帮助, 丹尼尔

2 个答案:

答案 0 :(得分:0)

你可以使用它,但这是丑陋的代码......

for (var i=0; i<8; i++){
   this["upBt" + i] = Object.create(null);
}

答案 1 :(得分:0)

使用数组帮助我:

this._arrayButtons = {};
for (var i=0; i<8; i++)
{
    this.upBt = new PL_Button().init("upBarButton"+i);
    this.upBt.imgPath = "res/builder/"+upBarImgs[i];
        .
        .
        .
    this._arrayButtons[i] = this.upBt;
}

之后,在一个函数中,我可以访问变量的内容,例如:

function refreshFrameAlpha(){
    this._arrayButtons[3].alpha = 125;
    this._arrayButtons[5].alpha = 225;
    .
    .
}

通过这种方式,我可以刷新对象的alpha(p.e),因为数组的每个项都是对相应对象的引用。