是否有任何简单的方法来获取使用构造函数创建的所有对象
var ObjectConstructor = function(value){
this.value = value;
this.arr = [];
this.someMethod= function () {
//do something
}
};
$.each($('.someClass'), function () {
var o = new ObjectConstructor (this);
o.someMethod();
})
我在这个模式的帮助下创建了很多对象。现在我需要在这个过程的某个地方收集所有这些。 我的解决方案是在构造函数之外创建一个全局对象
var allObjects = [];
并将对象一一添加到该数组中,同时在构造函数内生成它们
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();
})
现在我可以使用 allObjects 数组了。
我的问题:我的解决方案可以吗?或者有没有更好的方法来解决这个问题。谢谢。
最佳答案
My solution is creating a global object outside of constructor
var allObjects = [];
是的,这基本上就是如何做到这一点。但是,您需要注意,当您忘记从数组中删除不再需要的对象时,这可能会导致内存泄漏。
Is there any better approach for this.
关于javascript - 收集用构造函数创建的所有对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21552561/