日8:JS基本を学ぶこと-パート3


閉鎖


クロージャは、関数が別の場所でその関数を通過した場合でも、関数が外部の変数を「記憶」した場合です.
function makeAdder(x) {
  return function(y) {
    return x + y;
  };
}

var add5 = makeAdder(5);
var add10 = makeAdder(10);

console.log(add5(2));  // 7
console.log(add10(2)); // 12
フルリファレンスは- MDN

上記の例では、親関数の実行の100 ms後でも、変数の質問は生きていることになります.
例- 2

ここで、機能holdYourQuestionは、それが全くdiffernet場所の全体の異なる時間で呼ばれる場合でも、質問を覚えているでしょう.

このキーワード


これはすべての呼び出しについては、関数の定義ではない、それは機能がどこではない、それは問題ではない、それはどのように関数は、thisのキーワードが指す場所を決定すると呼ばれる方法です.
この認識機能は、それが呼ばれるたびに異なる文脈を持つことができます.


疑い


JSのプロトタイプ