javascript关闭中的新手
我遵循互联网上的一个例子,并尝试改变其中的一些
我认为它应该给我 16,17,18,19
但结果出乎意料
这是我的代码。我不知道为什么我首先调用 bar2(10),它会提示 17,它应该给我 18 吗?
function foo(x) {
var tmp = 3;
return function (y) {
alert(x + y + (++tmp));
}
}
var bar = foo(2);
bar(10);//alert16
bar(10);//alert17
var bar2 = foo(3);
bar2(10);//alert17
bar2(10);//alert18