Javascript:字符串可以转换为/转换为类型常量吗?

时间:2012-02-09 02:26:35

标签: javascript metaprogramming

如果我有一个包含字符串的变量,有没有办法可以将该字符串的内容视为类型的名称?

例如,Javascript中是否有????

var ts = "Array";
var magic_type = ????; //magic
var obj_instance = new magic_type;

有效且obj_instance == []

2 个答案:

答案 0 :(得分:4)

您可以使用带有全局对象的括号表示法来实例化它。

var arr = new window['Array'];

jsFiddle

如果构造函数接受参数,则将它们添加到最后。

作为旁注,您的代码示例......

obj_instance === []

...不会评估为true,因为[]语法会创建一个具有不同内存位置的新Array

答案 1 :(得分:1)

var instance = new window[someString]();

不需要魔法。