2
毎回以下のアラート。
function timer() {
for (var i = 0; i < 3; ++i) {
var j = i;
setTimeout(function () {
alert(j);
}, 1000);
}
}
timer();
を setTimeout の個々のスコープにvar j = i;
設定するべきではありませんか?j
一方、私がこれを行うと:
function timer() {
for (var i = 0; i < 3; ++i) {
(function (j) {
setTimeout(function () {
alert(j);
}, 1000);
})(i);
}
}
timer();
警告します0
, 1
,本来2
あるべきように.
足りないものはありますか?