1

我有一堆用 javascript 编写的代表高级可重用控件的对象。这些控件作为具有类型属性的 div 放置在页面中的某处。选择这些很容易,但创建适当的 javascript 对象并将所选节点传递给适当的类型 init 函数并不那么直接。我试图避免按照 'new' + controlType + '(' + selector + ')' 的行构建一个字符串,然后对其调用 eval 。

4

1 回答 1

3

如果每个构造函数都是全局的,则可以通过window对象(全局对象)显式访问它们:

var instance = new window[controlType](selector):

否则我建议为构造函数创建一个“命名空间”

var types = {
    'TypeA': TypeA,
    'TypeB': TypeB,
    //...
};

并执行与上述相同的操作。

于 2012-07-26T10:17:35.913 回答