假设我有一个名为loopObject
的类,我通过类似var apple = new loopObject();
之类的东西初始化每个对象。无论如何都要循环遍历类的所有对象,以便可以对每个对象执行某些功能一个参数?如果没有直接方法,有没有办法在初始化时将每个新对象放入一个数组?
答案 0 :(得分:2)
您可以创建一个包含每个实例的数组,如下所示:
function LoopObject() {
LoopObject.all.push(this);
}
LoopObject.all = [];
然而,它会泄漏内存 - 你的实例永远不会超出范围。
答案 1 :(得分:1)
function loopObject(){
this.name = 'test'
};
var list = [], x = new loopObject, y = new loopObject;
list.push(x)
list.push(y)
for ( var i = list.length; i--; ) {
alert( list[i].name )
}
答案 2 :(得分:0)
var allObjects [] = new Array();
function loopObject() {
...
allObjects.push(this);
}
然后,可以根据需要使用allObjects
循环遍历allObjects.length
的所有元素。