のような"AppNamespace.SomeObject.ClassName"
文字列があり、文字列が実際のコンストラクター関数を表していることがわかっている場合、それをステートメントで使用するための最良/推奨の方法はvar foo = new AppNamespace.SomeObject.ClassName
何ですか?
私はそれをできた:
var s = "AppNamespace.SomeObject.ClassName"
var foo = new (eval(s))
または次のようなもの:
var parts = "AppNamespace.SomeObject.ClassName".split(".")
var foo = new (window[parts[0]][parts[1]][parts[2]])
eval
しかし、文字列を分割してその部分をループする必要がない、または必要のないより良い解決策があるかどうか疑問に思っています。誰にもアイデアはありますか?そうでない場合、私が提案した 2 つの解決策に基づいて、それぞれの長所と短所は何ですか?