0

这看起来很容易,但我有点迷失......我需要将计数器值添加到变量名中。

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:最后,我使用类的辅助数组解决了它,我在每次迭代中推送了每个对象。这个数组的每一项都是对每一个对象的真实引用,所以改变了数组中的项,相应的对象也进行了改变……希望已经解释清楚了。

谢谢你的帮助,丹尼尔

4

2 回答 2

0

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

for (var i=0; i<8; i++){
   this["upBt" + i] = Object.create(null);
}
于 2013-02-11T09:56:09.303 回答
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(pe),因为数组的每一项都是对对应对象的引用。

于 2013-02-11T13:05:48.263 回答