JavaScript - 获取作为特定类实例的所有对象

标签 javascript

我不确定这是否可能,但我会试试运气。

是否有可能在 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/

相关文章:

javascript 添加事件监听器不适用于 angularjs $scope

javascript - 扩展 Titanium 对象在 iOS 上不起作用

javascript - 为幻灯片制作适当的淡入和淡出

javascript - 使用带有 Next JS 路由的 React 路由器

javascript - 如何使用 Axios 发布到 Monday API?

javascript - 词云更新数据/向云添加词的工作示例?

Javascript 全局变量被设置为新值

javascript - 在图像切换时更新 php session 变量

javascript - CKeditor,将标签名称传递给插件中的 addcommand

javascript - Vue.js。将动态变化的数据传递给子组件