我有一个包含构造函数var arr = ['Class1', 'Class2', 'Class3']
名称的数组。
function Class1() {
this.name = 'class1';
}
是否可以动态创建这些类的实例?我的意思是
var class1Object = new arr[0]();
我尝试过但它不起作用(Uncaught TypeError:string不是函数)。
答案 0 :(得分:2)
在" global"中定义的函数范围实际上是在window
对象上创建的,因此您可以执行此操作(只要代码位于页面的head
中,并且不限于特定的内容):
function Class1(){
this.name = 'class1';
}
var className = "Class1";
var c1 = new window[className]();
答案 1 :(得分:0)
之前在这篇文章中回答过(Google:JavaScript中的动态实例化)