javascript中的事件輪詢

基本介紹

  • 堆:存放了大量的非結構化數(shù)據(jù),比如變量,對象等
  • 調(diào)用桟:會記錄素有的函數(shù)調(diào)用信息,當我們調(diào)用某個函數(shù)式,會將其參數(shù)與局部變量等壓入桟中
  • 隊列:包含了一些列帶處理的信息與相關聯(lián)的回調(diào)函數(shù)
  • javascript主線程只擁有一個函數(shù)調(diào)用桟和一個任務隊列

什么是異步

在 Web 開發(fā)中,我們常常會需要處理網(wǎng)絡請求等相對較慢的操作,如果將這些操作全部以同步阻塞方式運行無疑會大大降低用戶界面的體驗。另一方面,我們點擊某些按鈕之后的響應事件可能會導致界面重渲染,如果因為響應事件的執(zhí)行而阻塞了界面的渲染,同樣會影響整體性能。實際開發(fā)中我們會采用異步回調(diào)來處理這些操作,這種調(diào)用者與響應之間的解耦保證了 JavaScript 能夠在等待異步操作完成之前仍然能夠執(zhí)行其他的代碼。Event Loop 正是負責執(zhí)行隊列中的回調(diào)并且將其壓入到函數(shù)調(diào)用棧中

圖解

ScreenClip.png
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • __block和__weak修飾符的區(qū)別其實是挺明顯的:1.__block不管是ARC還是MRC模式下都可以使用,...
    LZM輪回閱讀 3,590評論 0 6
  • 多線程、特別是NSOperation 和 GCD 的內(nèi)部原理。運行時機制的原理和運用場景。SDWebImage的原...
    LZM輪回閱讀 2,116評論 0 12
  • ———————————————回答好下面的足夠了---------------------------------...
    恒愛DE問候閱讀 1,836評論 0 4
  • 史上最全的iOS面試題及答案 iOS面試小貼士———————————————回答好下面的足夠了----------...
    Style_偉閱讀 2,565評論 0 35
  • 此書從何而來?說起根由雖近荒唐,細按則深有趣味。 Do you know, where this book com...
    試遣愚衷閱讀 298評論 0 0

友情鏈接更多精彩內(nèi)容