日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

web前端面試題2022最全 web前端面試題2022( 二 )


主線程指的是JS引擎執(zhí)行的線程 。這個(gè)線程只有一個(gè) , 頁面渲染、函數(shù)處理都在這個(gè)主線程上執(zhí)行 。
工作線程這個(gè)線程可能存在于瀏覽器或JS引擎內(nèi) , 與主線程是分開的;處理文件讀取、網(wǎng)絡(luò)請求等異步事件 。
同步任務(wù)指的是在主線程上排隊(duì)執(zhí)行的那些任務(wù) 。只有前一個(gè)任務(wù)執(zhí)行完畢 , 才能執(zhí)行后一個(gè)任務(wù) 。
異步任務(wù)指的是由JavaScript委托給宿主環(huán)境(瀏覽器或Node.js)進(jìn)行執(zhí)行的任務(wù) 。當(dāng)異步任務(wù)執(zhí)行完成后 , 會(huì)通知JavaScript主線程執(zhí)行異步任務(wù)的回調(diào)函數(shù) 。
舉個(gè)例子:一個(gè)人吃完飯后看手機(jī) , 看手機(jī)后聊八卦 , 這樣按照順序一步步來 , 等上一件事完了之后再執(zhí)行后面事情的就是同步方式;而一個(gè)人在吃飯的同時(shí) , 可以看手機(jī)和聊八卦 , 這樣能做很多件事情的就是異步方式 。
任務(wù)隊(duì)列主要分兩種:宏任務(wù)和微任務(wù) 。
宏任務(wù):每次執(zhí)行棧執(zhí)行的代碼 。常見的宏任務(wù)主要包含:script(整體代碼)、setTimeout、setInterval、I/O、異步Ajax、setImmediate(Node.js環(huán)境)等 。
微任務(wù):當(dāng)前宏任務(wù)執(zhí)行結(jié)束后立即執(zhí)行的任務(wù) 。常見的微任務(wù)主要包含:Promise.then(catch、finally)、MutaionObserver、process.nextTick(Node.js環(huán)境)等 。
好了 , 到這里事件循環(huán)機(jī)制里面相關(guān)的概念已在上面列出解釋了 。其實(shí)通過上面的介紹可以得到下面這樣一個(gè)圖示:
任務(wù)進(jìn)入執(zhí)行棧 , 就會(huì)根據(jù)任務(wù)類型判斷是同步任務(wù)還是異步任務(wù) , 然后分別進(jìn)入不同的執(zhí)行環(huán)境 , 同步任務(wù)進(jìn)入主線程 , 異步任務(wù)進(jìn)入任務(wù)隊(duì)列 。主線程內(nèi)的任務(wù)執(zhí)行完畢后 , 回去任務(wù)隊(duì)列讀取對應(yīng)的任務(wù) , 推入主線程執(zhí)行 。上述過程不斷重復(fù)就是事件循環(huán) 。
每一個(gè)宏任務(wù)執(zhí)行完之后 , 都會(huì)檢查是否存在待執(zhí)行的微任務(wù);如果有 , 則執(zhí)行完所有微任務(wù)后再繼續(xù)執(zhí)行下一個(gè)宏任務(wù);反之沒有就直接執(zhí)行下一個(gè)宏任務(wù) 。
根據(jù)上面圖示可以得到事件循環(huán)機(jī)制的關(guān)鍵步驟 , 如下:
好啦 , JS事件循環(huán)的相關(guān)概念和流程順序就介紹完了 。掌握概念之后 , 來看一些例子加深一下→
回到一開始提到面試題 , 那就看看它的執(zhí)行結(jié)果是怎樣的 , 分析如下:
下面來一個(gè)例子試試水:
分析過程 , 如下:
下面來一個(gè)經(jīng)典的例子:
分析過程 , 如下:
將上面的經(jīng)典改造一下 , 用最終完全體來結(jié)束示例:
分析過程 , 如下:
到這里 , JS事件循環(huán)機(jī)制示例相關(guān)的題和分析過程就介紹完了 , 想必通過上面的介紹你一定能對JS的事件循環(huán)機(jī)制有更深的理解 , 相信以后遇見其他類似的面試題也能迎刃而解了 。沖沖沖!→
最后 , xdm看文至此 , 點(diǎn)個(gè)贊再走哦 , 3Q^_^
【web前端面試題2022最全 web前端面試題2022】伙伴們 , 如果覺得本文對你有些許幫助 , 點(diǎn)個(gè)或者?個(gè)關(guān)注再走唄^_^ 。另外如果本文章有問題或有不理解的部分 , 歡迎大家在評論區(qū)評論指出 , 我們一起討論共勉 。

推薦閱讀