2014-06-10 72 views
0

您可以使用括號符號來獲取一個對象:根據字符串參數選擇構造函數?

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? 
}; 

回答

1

在你的榜樣,請嘗試以下操作:

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

謝謝您的回答,似乎與此類似https://stackoverflow.com/a/969756/1837472;我會玩。 – Data

+0

工作得很好,謝謝:) – Data

相關問題