我用javascript编写的一堆对象代表了高级可重用控件。这些控件放在某个页面中,作为带有type属性的div。选择这些很容易,但创建适当的javascript对象并将选定的节点传递给适当的类型init函数则不太直接。我试图避免在'new'+ controlType +'('+ selector +')'的行中构建一个字符串,然后在其上调用eval。
答案 0 :(得分:3)
如果每个构造函数都是全局的,则可以通过window
对象(全局对象)显式访问它们:
var instance = new window[controlType](selector):
否则我建议为构造函数
创建一个“命名空间”var types = {
'TypeA': TypeA,
'TypeB': TypeB,
//...
};
并按上述步骤操作。