1

私は高度な再利用可能なコントロールを表す JavaScript で書かれたオブジェクトの束を持っています。これらのコントロールは、type 属性を持つ 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 に答える