我不确定这是否可能,但我会试试运气。
是否有可能在 JavaScript 中找到作为特定类实例的所有对象?
例如:
var obj1 = new MyClass();
var obj2 = new MyClass();
var obj3 = new MyClass();
我想指定类名“MyClass”并得到“obj1,obj2,obj3”作为响应。
我该怎么做?
最佳答案
你可以这样做:
function MyClass(){};
MyClass.prototype.test = function(){
console.log('TEST');
};
function MyClassFactory(){
this.instances = [];
};
MyClassFactory.prototype.create = function(){
let tmp = new MyClass();
this.instances.push(tmp);
return tmp;
};
MyClassFactory.prototype.get = function(i){
return this.instances[i];
};
MyClassFactory.prototype.getAll = function(){
return this.instances;
};
let factory = new MyClassFactory();
let obj1 = factory.create();
let obj2 = factory.create();
let obj3 = factory.create();
let test1 = factory.get(0);
let test2 = factory.getAll();
for(let t of test2){
t.test();
}
test1.test();
关于JavaScript - 获取作为特定类实例的所有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41824721/