setTimeout()函數(shù)執(zhí)行完結(jié)果卻是 五個(gè)6 的原因是? for (var i = 1; i <= 5; i++) { setTimeout(function timer() { console.log(i); }, i * 1000); }// 其實(shí)我們想得到的結(jié)果是1,2,3,4,5,結(jié)果卻是五個(gè)6雖然用js 閉包解決了問(wèn)題,得到想要的1,2,3,4,5,但還是不明白上述的代碼為什么出現(xiàn)五個(gè)6? for (var i = 1; i <= 5; i++) { (function(j) { setTimeout(function timer() { console.log(j); }, j * 1000); })(i); //通過(guò)一個(gè)立即執(zhí)行函數(shù),為每次循環(huán)創(chuàng)建一個(gè)單獨(dú)的作用域
js 入坑題目:setTimeout()函數(shù)執(zhí)行完結(jié)果卻是五個(gè)6的原因是?
富國(guó)滬深
2018-11-09 14:10:35