我正在尝试根据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
都会创建另一个“子”对象。如果我保持所有对象的数量相同,我可以跟踪所有对象。
这是最好的方法吗?或者是不可能的?
答案 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();
}