如何创建变量名称的Mootools类
-
02-10-2019 - |
题
考虑此代码:
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']();
将IT参数作为常规传递。
var object = new window['SomeClass'](1, 2, "three");
而不是在全球创建所有类,而是使用对象来命名它们。
var My = {
SomeClass: new Class(..),
OtherClass: new Class(..)
};
var object = new My['SomeClass']();
不隶属于 StackOverflow