当类名仅在运行时可用时,如何实例化类

时间:2013-05-29 19:42:46

标签: javascript

实例化的通常情况是new MyClass(arg1)

如果MyClass是一个仅在运行时可用的变量,我该如何编写情况?

2 个答案:

答案 0 :(得分:6)

所有全局变量都是全局对象的属性 您可以使用索引符号按名称获取对象属性:

new global[someString]();

在浏览器中,全局对象为window

答案 1 :(得分:1)

如果您所说的是"MyClass"作为JavaScript中的字符串变量,则可以使用Eval执行此操作:

var yourvar = "MyClass";
eval("new " + yourvar + "();");

注意:eval可能很危险,应尽可能避免。在这种情况下,它可以工作,但它不是推荐的方法。如果您能向我们展示您的用例,我们可以为您提供更好,更安全的解决方案。