0

より少ないコードで、再利用可能なモジュールを作成しようとしています。このようなものは機能しますか?(まあ、実際にはうまくいきません。アイデアを提供するための単なる例です)

var test = function(foo) {
    var bar = new foo(); // The keyword foo is from the parameter
}

パラメータは実際には文字列です。したがって、「FooBar」を渡すと、FooBarオブジェクトが作成されます。

それは次のように言っているようなものです:

var test = function('FooBar') {
    var bar = new 'FooBar'(); 
}

私が探しているソリューションに合う他のエレガントな方法はありますか?

どうもありがとう!

4

2 に答える 2

0

コンストラクター関数の場合foo、コードは問題なく動作します (なぜ試してみなかったのか不思議です)。ここで動作することがわかります: http://jsfiddle.net/jfriend00/yT6Vk/

問題を解決するための他の/より良い方法についてアドバイスが必要な場合は、バックアップして、実際に何をしようとしているのかについて詳しく説明する必要があります。

ファクトリ関数や、引数を調べて作成するオブジェクトのタイプを決定する単一の関数など、このようなことを行う別の方法がありますが、解決しようとしている問題の正確な情報がなければ、実際にはできません他の方法があなたがすでに持っている方法よりも優れているか悪いかを述べてください。

このメソッドの欠点は、コンストラクターに渡される引数を許可していないことです。

于 2013-05-14T04:18:14.403 に答える