function foo(x) { var tmp = 3; return function (y) {
alert(x + y + (++tmp));
}
}var bar = foo(2);
bar(10);為什么上面這段代碼每次調用bar時它都會自加1.但是下面這段代碼每次執行又永遠不會變化,恒為16function foo(x) { var tmp = 3; function bar(y) {
alert(x + y + (++tmp));
}
bar(10);
}
foo(2)
js閉包的一個小問題.......
侃侃爾雅
2018-09-05 09:30:52