JavaScript的執行流,無論是瀏覽器還是Node.js,都是基於 事件循環 。 理解事件循環能夠讓我們寫出更可靠的高性能代碼。 讓我們先介紹一下事件循環的原理,然后再來看看實際應用。 事件循環(Event Loop) 事件循環的概念非常簡單。它就是一個無止境的循環 ...
上面是讓瀏覽器自動執行,沒有點擊,那就是打印出 listener ,listener ,micro task ,micro task ,走微任務 如果換成是點擊的就是listen ,micro task ,listen ,m 就是走宏任務了 ...
2020-06-09 23:25 1 824 推薦指數:
JavaScript的執行流,無論是瀏覽器還是Node.js,都是基於 事件循環 。 理解事件循環能夠讓我們寫出更可靠的高性能代碼。 讓我們先介紹一下事件循環的原理,然后再來看看實際應用。 事件循環(Event Loop) 事件循環的概念非常簡單。它就是一個無止境的循環 ...
1.什么是宏任務和微任務 JavaScript把異步任務又做了進一步的划分,分為宏任務和微任務: 宏任務(macrotask) 異步ajax請求;setTimeout、setlnterval;文件操作;其他宏任務 微任務(microtask ...
宏任務(macro-task) 定義 消息隊列中的任務稱為宏任務。 產生 宿主環境提供的方法是宏任務,例如setTimeout, setInterval。這些都是瀏覽器或者Node環境實現的。 執行 不斷從消息隊列中取出並被事件循環執行。 類型 注意 ...
先放上小姐姐的博客地址:https://www.cnblogs.com/zhengyeye/p/10774837.html。 這篇文章是看小姐姐的博客才讓自己對宏任務和微任務解決題目有了更多的認識的。 前端里面,很多很優秀的小姐姐,多多接近優秀的小姐姐,多多向她們學習。 言歸正傳 1.js是一個 ...
1.宏任務: 分類:setTimeout setInterval requrestAnimationFrame 1>宏任務所處的隊列就是宏任務隊列 2>第一個宏任務列中只有一個任務,執行主線程的js代碼 3>宏任務隊列可以有多個 2.微任務: 分類:new ...
微任務和宏任務屬於一個隊列,主要區別在於它們的執行順序(宏任務執行完如果有可執行的微任務則執行完微任務才會繼續執行下一個宏任務) 宏任務:包括整體代碼script,,setInterval,setImmediate。 微任務:原生Promise(有些實現的promise ...
事件循環 Event Loop 程序中設置兩個線程:一個負責程序本身的運行,稱為"主線程";另一個負責主線程與其他進程(主要是各種I/O操作)的通信,被稱為"Event Loop線程"(可以譯為"消息線程")。 所有任務可以分成兩種,一種是同步任務(synchronous),另一種是異步任務 ...
在之前的一篇文章中簡單理了下JS的運行機制,順着這條線深入就又遇到了幾個概念,什么是事件循環,什么又是宏任務、微任務呢,今天用這篇文章梳理一下。 以下是我自己的理解,如有錯誤,還望不吝賜教。 事件循環與消息隊列 首先大家都知道JS是一門單線程的語言,所有的任務都是在一個線程上完成的。而我們知道 ...