久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:175日期:2023-09-26 09:09:06

問題描述

我們知道alert()是阻塞式的,但是一下代碼執行順序有問題

執行順序有問題

(()=>{ for(let i = 0; i < 5; i++){setTimeout(() => alert(i), 1000); }})()

結果: 0,3,2,1,4

執行順序沒問題

(()=>{ for(let i = 0; i < 5; i++){setTimeout(() => console.log(i), 1000); }})()

結果:0,1,2,3,4

這是為什么呢?

問題解答

回答1:

建議看一下setTimeout的運行原理

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

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

回答2:

貼一個鏈接,看完以后你應該茅塞頓開

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 齐齐哈尔市| 贵定县| 永兴县| 潼南县| 小金县| 海安县| 连平县| 南召县| 阿勒泰市| 滕州市| 化隆| 资中县| 大宁县| 仲巴县| 伊宁市| 平原县| 岑巩县| 铁岭县| 龙口市| 高清| 苍梧县| 宕昌县| 八宿县| 维西| 科技| 日土县| 泸溪县| 孟州市| 五常市| 城固县| 兴隆县| 湖州市| 大名县| 灌云县| 尉氏县| 龙里县| 聊城市| 郑州市| 凤山市| 天峨县| 九江市|