亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于js,alert()阻塞的問題

關于js,alert()阻塞的問題

一只斗牛犬 2018-11-14 13:13:01
我們知道alert()是阻塞式的,但是一下代碼執行順序有問題執行順序有問題( chrome 和 opera 有問題,FF,IE11 沒問題)     for(let i = 0; i < 5; i++){         setTimeout(() => alert(i), 1000);     }結果: 0,3,2,1,4 或者其他順序這樣寫也沒問題    for(let i = 0; i < 5; i++)         setTimeout(alert(i), 1000);這樣寫執行順序就沒問題     for(let i = 0; i < 5; i++){         setTimeout(() => console.log(i), 1000);     }結果:0,1,2,3,4這是為什么呢?
查看完整描述

1 回答

?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

建議看一下setTimeout的運行原理

你如果在alert 0 的時候,不去點確定,等5s(線程空閑情況,有可能需要等10s或者更長時間) 之后再去點擊,你發現順序就正常了

原因是,setTimeout在中代碼是,如果進程被占用,等到進程空閑了,就會跳過這次,執行下一次了


查看完整回答
反對 回復 2018-12-07
  • 1 回答
  • 0 關注
  • 1075 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號