日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

JS 運行機(jī)制

 新進(jìn)小設(shè)計 2021-09-20

單線程:js 是單線程的,js在同一時間只能做一件事情這就叫單線程

任務(wù)隊列:異步過程與單線程本身看起來是沖突的,就是任務(wù)隊列使這兩個不沖突

注意:優(yōu)先執(zhí)行同步任務(wù)才執(zhí)行異步任務(wù)

同步任務(wù):在js同步運行的任務(wù)叫同步任務(wù)

異步任務(wù):setTimeout 和 setInterval,DOM 事件,ES6中的promise 叫異步任務(wù)

 

Event Loop(事件循環(huán))

  1. 運行棧運行的是同步任務(wù)(運行棧執(zhí)行的是同步任務(wù))
  2. 瀏覽器識別了事件是一個異步任務(wù),它不會把它放到運行棧中,而是拿走。拿走之后也不是立刻放到異步隊列中,同步任務(wù)執(zhí)行完后再放入異步隊列(setTimeout 的最小時間在以前的瀏覽器中的10ms, 在最新的瀏覽器是4ms,如果設(shè)置是0 或者<4ms 都當(dāng)作是4ms)(什么時候去異步隊列取這個任務(wù)?)
  3. 運行棧沒有任務(wù)了,就開始執(zhí)行異步任務(wù)(這個時候異步任務(wù)變?yōu)橥饺蝿?wù)去執(zhí)行)。執(zhí)行完后如果運行棧沒有任務(wù)了,再監(jiān)聽異步任務(wù)。這個循環(huán)過程就是 Event Loop(什么時候往這個任務(wù)隊列中放異步任務(wù))

什么時候開啟異步任務(wù)

  • setTimeout 和 setInterval
  • DOM 事件
  • ES6 中的 Promise

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多