Javascript 正在收集使用构造函数创建的所有对象?
有没有简单的方法可以获取所有使用构造函数创建的对象Javascript 正在收集使用构造函数创建的所有对象?,javascript,jquery,Javascript,Jquery,有没有简单的方法可以获取所有使用构造函数创建的对象 var ObjectConstructor = function(value){ this.value = value; this.arr = []; this.someMethod= function () { //do something } }; $.each($('.someClass'), function () { var o = new ObjectConstructo
var ObjectConstructor = function(value){
this.value = value;
this.arr = [];
this.someMethod= function () {
//do something
}
};
$.each($('.someClass'), function () {
var o = new ObjectConstructor (this);
o.someMethod();
})
allObjects.push(this)
在这个模式的帮助下,我创建了很多对象。现在我需要收集它们,在这个过程中的某个地方。
我的解决方案是在构造函数之外创建一个全局对象
var allObjects = [];
在构造函数中生成对象时,将对象逐个添加到此数组中
var ObjectConstructor = function(value){
this.value = value;
this.arr = [];
this.someMethod= function () {
//do something
}
};
$.each($('.someClass'), function () {
var o = new ObjectConstructor (this);
o.someMethod();
})
allObjects.push(this)
最终代码:
var allObjects = [];
var ObjectConstructor = function(value){
this.value = value;
this.arr = [];
this.someMethod= function () {
//do something
}
allObjects.push(this)
};
$.each($('.someClass'), function () {
var o = new ObjectConstructor (this);
o.someMethod();
})
现在我可以使用AllObject数组了
我的问题:我的解决方案行吗?或者有没有更好的方法。多谢各位
我的解决方案是在构造函数var allObjects=[]之外创建一个全局对象代码>
是的,基本上就是这样做的。但是,您需要注意,当您忘记从阵列中删除不再需要的对象时,这可能是内存泄漏
有没有更好的办法
这取决于。以后,您可以将代码复制/粘贴到中,看看它是否有效。谢谢,但我知道它有效。我只是想学习一种更好的方法,如果有的话。类似于使用原型、instanceOf。。。AllObject不应该是ObjectConstructor的属性吗?还有一种方法可以从数组中删除成员。是的,绝对正确。