0

次のようなJavaScriptオブジェクトを作成した場合:

Test = function(params) {
    this.test = params.test || 'element';
    this.test1 = params.test1 || '#000';
    this.test2 = params.test2;
    this.test3 = params.test3;

    //need a neat little initialise function to create some html elements here! 
}

var test = new Test({test: "#CCC", test1: [0, 1, 3], test2: [0, 1, 3]});

次に、そのオブジェクトのインスタンスが上記のように作成されたときに実行される適切な初期化関数を作成するにはどうすればよいですか。

単純に関数を作成してから呼び出すのでしょうか、それともオブジェクトインスタンスの作成時にそれ自体で実行される関数を作成する方法がありますか。

4

2 に答える 2

3

コンストラクターすでに関数であり、そこにコードを配置するだけです。技術的に言えば、コンストラクターはオブジェクトの初期化関数です。

単純に関数を作成してから呼び出すのでしょうか、それともオブジェクトインスタンスの作成時にそれ自体で実行される関数を作成する方法がありますか。

場合によります。コンストラクター以外の場所でhtml要素作成コードを再利用できますか?次に、それを別の関数(おそらくプロトタイプ上)に配置し、コンストラクターから呼び出します。

于 2012-08-03T19:28:21.817 に答える
1

あなたはすでに初期化関数を持っています、それは変数が定義されているところです。そこで何かをするだけで、オブジェクトのインスタンスを作成するときに発生します。

于 2012-08-03T19:28:58.617 に答える