javascript - 根据字符串参数选择构造函数?

标签 javascript constructor

您可以使用括号表示法来获取对象:

var items = {};
items.obj1 = {};

var type = 'obj1';
var myFunc = function(type){
    var newObj = items[type]; //returns items.obj1
};

如何使用构造函数动态创建对象?

var Constructor1 = function() {};
var Constructor2 = function() {};

var type = 'Constructor2';
var myFunc = function(type){
   var newObj = new type(); // how do you invoke either constructor?
};

最佳答案

在您的示例中,请尝试以下操作:

var myFunc = function(type) {
  return new window[type]();
}

关于javascript - 根据字符串参数选择构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24131207/

相关文章:

javascript - 为什么 PhantomJS 将此网站呈现为黑色方 block ?

c# - 在构造函数中连接线程 C# 事件

java - 根据构造函数参数构造子类?

javascript - 如何全局暂停页面中正在播放的所有轨道

javascript - $inc 仅当新元素添加到集合中时

添加时java arraylist空指针异常

c++ - 如果构造函数抛出异常,如何删除对象?

c++ - 内置类型的析构函数(int、char 等)

javascript - 如何从 Typescript 模块导出 2 个项目

php - 为什么这个 js-php 生成的位置引用在 IE8 中不起作用?