如何创建变量名的MooTools类

时间:2010-09-10 15:31:29

标签: javascript mootools mootools1.2

考虑以下代码:

var Someclass = new Class();
var Anotherclass = new Class();
var classes = ['Someclass', 'Anotherclass'];

我想用动态名称创建mootools类。 当然我可以通过eval来做到这一点:

eval('var obj = new ' + classes[0] + '(params);');

但我不认为这是一个很好的解决方案。 如何以“正确”的方式做到这一点? 也许有些想法:

var obj = ObjectFactory(classes[0], params);

1 个答案:

答案 0 :(得分:3)

使用bracket notation将该类称为字符串。

var object = new window['SomeClass']();

将参数传递给常规。

var object = new window['SomeClass'](1, 2, "three");

不是全局创建所有类,而是使用对象命名它们。

var My = {
    SomeClass: new Class(..),
    OtherClass: new Class(..)
};

var object = new My['SomeClass']();