私はDouglas CrockfordのJavaScript講義シリーズを進めています。私は、彼が「閉鎖」を示すために表示されているコード例で混乱しています:JavaScriptのクロージャ:関数を返す
var digit_name = (function() {
var names = ['zero', 'one', 'two', 'three'];
return function (n) {
return names[n];
};
}());
alert(digit_name(3));
/digit_name
パラメータが定義で指定されていない引数(一番外側の関数)を取ることができる理由?引数(この場合は3
)は、呼び出し時に内部関数定義内のn
に対応することをどのように知っていますか?
定義されているときは、IIFEです。 – gcampbell