如果我有一个包含字符串的变量,有没有办法可以将该字符串的内容视为类型的名称?
例如,Javascript中是否有????
:
var ts = "Array";
var magic_type = ????; //magic
var obj_instance = new magic_type;
有效且obj_instance == []
?
答案 0 :(得分:4)
您可以使用带有全局对象的括号表示法来实例化它。
var arr = new window['Array'];
如果构造函数接受参数,则将它们添加到最后。
作为旁注,您的代码示例......
obj_instance === []
...不会评估为true
,因为[]
语法会创建一个具有不同内存位置的新Array
。
答案 1 :(得分:1)
var instance = new window[someString]();
不需要魔法。