如果我有一個變量包含一個字符串,有沒有辦法,我可以把該字符串的內容作爲一個類型的名稱?Javascript:可以將字符串轉換爲/轉換爲類型常量嗎?
例如,是否有一個JavaScript ????
使得:
var ts = "Array";
var magic_type = ????; //magic
var obj_instance = new magic_type;
是啥obj_instance == []
?
如果我有一個變量包含一個字符串,有沒有辦法,我可以把該字符串的內容作爲一個類型的名稱?Javascript:可以將字符串轉換爲/轉換爲類型常量嗎?
例如,是否有一個JavaScript ????
使得:
var ts = "Array";
var magic_type = ????; //magic
var obj_instance = new magic_type;
是啥obj_instance == []
?
您可以通過在全局對象中使用括號表示法來實例化它。
var arr = new window['Array'];
如果構造函數帶有參數,則將它們添加到最後。
作爲一個側面說明,你的代碼示例...
obj_instance === []
...永遠不會計算爲true
因爲[]
語法將創建一個新Array
具有不同的存儲位置。
var instance = new window[someString]();
沒有魔法需要。
注意和固定;謝謝;) – andrewdotnich 2012-02-09 02:33:12
附加: 你也可以鏈接這個想法: 'window ['google'] ['visualization'] ['PieChart']' – andrewdotnich 2012-02-09 23:02:08