var i = 0, timer, j = 0;while(i++ < 5) {
timer = window.setTimeout(function(){
j++;
alert(j);
}, 1000);
}
clearTimeout(timer);輸出的是1,2,3,45怎么沒輸出?還有為什么是這樣輸出的?他不是每次都賦值覆蓋了嗎?怎么還會執行?順序是什么?clearTimeout這語句是在什么時候執行的如果稍微改下var i = 0, timer, j = 0;while(i++ < 5) { timer = window.setTimeout(function(){ j++; alert(j); }, i*1000);}clearTimeout(timer);這樣就是每隔一秒輸出嘛,如果上面的問題解決了,那么沒毛病再繼續改 var i = 0, timer, j = 0; while(i++ < 5) { timer = window.setTimeout(function(){ j++; alert(j); }, j*1000); }clearTimeout(timer);這個時候,他是同時輸出的,為什么跟上面用i的不一樣?
js 異步的問題,settimeout的問題
幕布斯6054654
2018-11-20 17:13:21