如何在循环内逐渐更改变量名称

时间:2011-07-20 14:38:35

标签: javascript variables loops for-loop

我正在尝试根据for变量创建一个objNumber循环。它使许多对象用不同的变量命名,如下所示:

for (var i = 1; i <= objNumber; i++){
    var myElement = new Element('div', {id: 'slot'+i, class: 'slot'});
    var myObject+i = new myClass
}

我想这样做,以便我可以跟踪所有对象的名称,并可以轻松地引用它们。

每个myObject都会创建另一个“子”对象。如果我保持所有对象的数量相同,我可以跟踪所有对象。

这是最好的方法吗?或者是不可能的?

3 个答案:

答案 0 :(得分:4)

只需使用数组:

var myObjects = [];
for (var i = 1; i <= objNumber; i++){

        var myElement = new Element('div', {id: 'slot'+i, class: 'slot'});
        var myObjects[i] = new myClass
 }

答案 1 :(得分:0)

您可以使用eval语句来执行此操作,但更好的方法是使用关联数组,其中键是变量名称。通过这种方式,您可以轻松地迭代您创建的对象,并创建更易读的代码。

答案 2 :(得分:0)

最好的方法是使用数组:

var myArray = new Array();
for (var i = 0; i < objNumber; i++){

        var myElement = new Element('div', {id: 'slot'+i, class: 'slot'});
        myArray.push(new myClass());

 }

或者您可以使用以下内容:

 var myCollectionObj = {};
 for (var i = 1; i <= objNumber; i++){

        var myElement = new Element('div', {id: 'slot'+i, class: 'slot'});
        myCollectionObj["myObject"+i] = new myClass();

 }