Javascript 如何创建变量名的MooTools类

Javascript 如何创建变量名的MooTools类,javascript,mootools,mootools1.2,Javascript,Mootools,Mootools1.2,考虑以下代码: var Someclass = new Class(); var Anotherclass = new Class(); var classes = ['Someclass', 'Anotherclass']; 我想用一个动态名称创建mootools类。 当然,我可以通过评估来完成: eval('var obj = new ' + classes[0] + '(params);'); 但我认为这不是一个好的解决办法。 如何以“适当”的方式进行此操作? 也许有人会这样想: va

考虑以下代码:

var Someclass = new Class();
var Anotherclass = new Class();
var classes = ['Someclass', 'Anotherclass'];
我想用一个动态名称创建mootools类。 当然,我可以通过评估来完成:

eval('var obj = new ' + classes[0] + '(params);');
但我认为这不是一个好的解决办法。 如何以“适当”的方式进行此操作? 也许有人会这样想:

var obj = ObjectFactory(classes[0], params);
使用将类作为字符串引用

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']();
使用将类作为字符串引用

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']();