4

私は C/C++ 構文ファミリーから来ているので、ここにあるいくつかのことは私にはなじみがありません。

constructor: function(manufacturer, model, topSpeed, maxAltitude){

   // initialise our config object
   this.initConfig();

   if(maxAltitude){
       this.setMaxAltitude(maxAltitude);
   }

   // call the parent class' constructor
   this.callParent([manufacturer, model, topSpeed]);
}

では、親のコンストラクターを呼び出すときに、[] にデータを含めるのはなぜでしょうか? C# で同様のことを行った場合、通常の関数と同じようにデータを送信するだけです。

これだけではありません:

this.callParent(manufacturer, model, topSpeed);

この例は

Ext-JS 4 Web アプリケーション開発クックブック

しかし、それは JavaScript の問題だと思います。

ありがとうございました。

4

1 に答える 1

3

Well.callParent()は、ExtJS が提供するクラス システム ユーティリティです。.apply()別の関数を呼び出すために使用するため、引数を配列として必要とします。

必要に応じて、独自の配列を構築するように記述できたはずです。現在の形式の方が柔軟性が高く、JavaScript で配列を作成するのが難しいわけではないので、間違いなくより便利です。

(私はExtJS を使用していないので、それが何をするのか正確にはわかりません。)

于 2012-09-06T14:13:10.537 に答える