這里面我知道結果輸出得是5,可是為什么是4個5,js是單線程的,setTimeout()執行時for循環已經執行完畢,i++成為5,setTimeout()根據作用域鏈查找,輸出i的結果是5,可是為什么是4個5,for循環不是已經執行完畢了嗎?怎么會輸出4個5。不太懂,麻煩大家解答一下,謝謝!for (var i = 1; i <= 4; i++) {
setTimeout(function () {
console.log(i);
}, 1000)
}
關于js for循環中的setTimeout()一個問題
蕪湖不蕪
2018-08-16 15:10:46
