私はこの機能を見ています
function foo(x) {
var tmp = 3;
return function (y) {
alert(x + y + (++tmp));
}
}
var bar = foo(2); // bar is now a closure.
bar(10);
実行すると、変数は次の値を取得します
x = 2、y = 10 tmp = 3。
foo(2) では x が 2 として渡されていることがわかります。したがって、x が 2 の値を取得していることは理解できます。しかし、bar(10) は y に 0 の値を代入しています。どのようだ?10 が bar(10) によって割り当てられた y の値であることを受信関数がどのように認識するかについて混乱しています