まず、次の仮定を修正します。
「デリゲート関数とは、別のファイル内の別の関数へのデリゲートであることを意味します。」
1)「ファイル」のことは忘れてください。それはすべてコンテキストに関するものです(たとえば、クラスインスタンス)
2) 他の関数に委譲しない : 関数は別のコンテキストに委譲されます (Javascript では、"this" キーワードでコンテキストにアクセスします)。
したがって、JavaScript では、次の関数が与えられます。
var shootMissile = function () {
this.missiles --;
};
たとえば、ボートなど、さまざまなコンテキスト (= オブジェクト) に委譲することができます。
var Boat = function () {
this.missiles = 10 ;
},
boatInstance = new Boat () ;
または飛行機:
var Plane = function () {
this.missiles = 5 ;
},
planeInstance = new Plane () ;
最後に実際の例:
// planeInstance will have 4 missiles after call of delegated function
shootMissile.apply (planeInstance);
// boatInstance will have 9 missiles after call of delegated function
shootMissile.apply (boatInstance);
この短い説明で十分であることを願っています。