2012-02-27 7 views
3

JavaScriptを使用して "reflection"で "Class"のインスタンスを作成する方法をWebで検索しましたが、何も見つかりませんでした。"Class"のインスタンスをJavaScriptで作成する "Reflection"をJavaScriptで使用する

一般的に私はJavaコードのようなsometingをしようとしています。

Object o = Class.forename("MyClassName"); 

でも、私はクラスの名前しか持っていないときに、クラスのインスタンスを取得するような方法でJava Scriptを使用します。

ありがとうございます。

答えて

7

JavaScriptにはクラスがありません。しかし、「クラス」あなたはコンストラクタ関数を持っているわけたか:

function MyClassName() { 
    // do constructor things here 
} 

しかし、その関数の名前が変数である:

var someclass = "MyClassName"; 

その後、あなたは、このようなインスタンスを生成することができます

var obj = new window[someclass](); 

上記は、MyClassNameがグローバルスコープにある場合にのみ機能します。

0

Javascriptのクラスは、グローバル関数です。例えば

var o = new window["MyClassName"]; 

:だから、これを行うことができるはず

var o = new window["Array"]; 

この例は一例であることに留意してください。配列は、[]構文で作成する必要があります。

関連する問題