ここでは、 'i'変数の上で閉じている関数を返して、クロージャを作成しています。私はそれらのいずれかを呼び出すクロージャー、値はどこに保存されていますか?
var newFunc = myFunc();
var newFunc2 = myFunc();
のような他の変数には、この機能を割り当てた場合
var myFunc = function(){
var i = 0;
function increment(){
return ++i;
console.log(i);
}
return increment
}
今私はvarの値格納されてきている
newFunc() // 1
newFunc() // 2
newFunc() // 3
newFunc2() // 1 ??
になりますか? は、各関数の実行コンテキストに格納されているため、その関数を呼び出すときにのみ変更できます。
*「var iの値はどこに保存されますか?」* myFuncを呼び出すたびに作成される環境では、 –