変数名のMootoolsクラスを作成する方法
-
02-10-2019 - |
質問
このコードを検討してください:
var Someclass = new Class();
var Anotherclass = new Class();
var classes = ['Someclass', 'Anotherclass'];
そして、ダイナミックな名前でMootoolsクラスを作成したいと思います。もちろん、私は評価によってそれを行うことができます:
eval('var obj = new ' + classes[0] + '(params);');
しかし、私はそれが良い解決策だとは思いません。これを「適切な」方法で行う方法は?たぶんsomethinkのように:
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