最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡(jiǎn)單談?wù)凧avaScript的同步與異步

 更新時(shí)間:2015年12月31日 08:50:03   投稿:hebedich  
這篇文章主要介紹了簡(jiǎn)單談?wù)凧avaScript的同步與異步的相關(guān)資料,需要的朋友可以參考下

1.手繪一張圖說(shuō)明。

2.為什么JavaScript是單線(xiàn)程(這里引用阮一峰老師的話(huà))

JavaScript的單線(xiàn)程,與它的用途有關(guān)。

作為瀏覽器腳本語(yǔ)言,JavaScript的主要用途是與用戶(hù)互動(dòng),以及操作DOM。

這決定了它只能是單線(xiàn)程,否則會(huì)帶來(lái)很復(fù)雜的同步問(wèn)題。

比如,假定JavaScript同時(shí)有兩個(gè)線(xiàn)程,一個(gè)線(xiàn)程在某個(gè)DOM節(jié)點(diǎn)上添加內(nèi)容,另一個(gè)線(xiàn)程刪除了這個(gè)節(jié)點(diǎn),這時(shí)瀏覽器應(yīng)該以哪個(gè)線(xiàn)程為準(zhǔn)?

所以,為了避免復(fù)雜性,從一誕生,JavaScript就是單線(xiàn)程,這已經(jīng)成了這門(mén)語(yǔ)言的核心特征,將來(lái)也不會(huì)改變。

為了利用多核CPU的計(jì)算能力,HTML5提出Web Worker標(biāo)準(zhǔn),允許JavaScript腳本創(chuàng)建多個(gè)線(xiàn)程,但是子線(xiàn)程完全受主線(xiàn)程控制,且不得操作DOM。

所以,這個(gè)新標(biāo)準(zhǔn)并沒(méi)有改變JavaScript單線(xiàn)程的本質(zhì)。

傳送門(mén):JavaScript運(yùn)行機(jī)制之事件循環(huán)(Event Loop)詳解

3.JavaScript的異步體現(xiàn)在哪

如一開(kāi)始的圖,個(gè)人認(rèn)為左邊主線(xiàn)程就是同步,左邊事件隊(duì)列(消息隊(duì)列)就是異步。

當(dāng)然JavaScript中的異步有很多:

Ajax(XMLHttpRequest)
Image Tag,Script Tag,iframe(原理類(lèi)似)
setTimeout/setInterval
CSS3 Transition/Animation
postMessage
Web Workers
Web Sockets
and more…

相關(guān)文章

  • 前端常用的js函數(shù)方法

    前端常用的js函數(shù)方法

    這篇文章主要給大家分享的是常用的js函數(shù)的方法,告別搜索引擎的幫助,提高你的開(kāi)發(fā)效率,,需要的朋友可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2021-12-12
  • 詳解小程序橫屏方案對(duì)比

    詳解小程序橫屏方案對(duì)比

    這篇文章主要介紹了小程序橫屏方案對(duì)比,實(shí)現(xiàn)橫屏的方案也有多種,但是每種方案都有一定的缺陷,恰巧最近也在橫屏方案上踩了不少坑,本文就一起來(lái)介紹一下吧
    2020-06-06
  • JavaScript?WebGL?圖片透明處理的方式

    JavaScript?WebGL?圖片透明處理的方式

    WebGL 透明處理方式之一是使用 α 混合,這篇文章主要介紹了JavaScript?WebGL?圖片透明處理方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • JavaScript SweetAlert插件實(shí)現(xiàn)超酷消息警告框

    JavaScript SweetAlert插件實(shí)現(xiàn)超酷消息警告框

    SweetAlert是一款使用純js制作的消息警告框插件.這篇文章主要介紹了JavaScript SweetAlert插件實(shí)現(xiàn)超酷消息警告框的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • JavaScript樹(shù)形結(jié)構(gòu)數(shù)組處理之遞歸問(wèn)題

    JavaScript樹(shù)形結(jié)構(gòu)數(shù)組處理之遞歸問(wèn)題

    這篇文章主要介紹了JavaScript樹(shù)形結(jié)構(gòu)數(shù)組處理之遞歸問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • MutationObserver監(jiān)視對(duì)DOM?樹(shù)所做更改的功能妙用

    MutationObserver監(jiān)視對(duì)DOM?樹(shù)所做更改的功能妙用

    這篇文章主要為大家介紹了MutationObserver監(jiān)視對(duì)DOM?樹(shù)所做更改的功能妙用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • JavaScript call apply使用 JavaScript對(duì)象的方法綁定到DOM事件后this指向問(wèn)題

    JavaScript call apply使用 JavaScript對(duì)象的方法綁定到DOM事件后this指向問(wèn)題

    JavaScript對(duì)象與DOM對(duì)象進(jìn)行綁定會(huì)遇到一個(gè)問(wèn)題:如果被綁定的對(duì)象的方法中包含this關(guān)鍵字,當(dāng)事件被觸發(fā)時(shí)this指向的卻是DOM對(duì)象,而不是之前的JS對(duì)象。
    2011-09-09
  • javascript性能優(yōu)化之事件委托實(shí)例詳解

    javascript性能優(yōu)化之事件委托實(shí)例詳解

    這篇文章主要介紹了javascript性能優(yōu)化之事件委托用法,結(jié)合實(shí)例形式對(duì)比分析了JavaScript中事件委托的具體用法與優(yōu)點(diǎn),需要的朋友可以參考下
    2015-12-12
  • javascript中Array()數(shù)組函數(shù)詳解

    javascript中Array()數(shù)組函數(shù)詳解

    在JavaScript中數(shù)組也是比較常用的對(duì)象之一,數(shù)組是值的有序集合,本篇文章給大家分享Javascript中Array()數(shù)組函數(shù)詳解,需要的朋友可以參考下
    2015-08-08
  • laypage.js分頁(yè)插件使用方法詳解

    laypage.js分頁(yè)插件使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了laypage.js分頁(yè)插件的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07

最新評(píng)論

陆良县| 南陵县| 穆棱市| 大港区| 什邡市| 临潭县| 平原县| 黄浦区| 康乐县| 肥乡县| 乾安县| 平和县| 漳州市| 曲水县| 遵化市| 洞口县| 扶绥县| 淮滨县| 宁强县| 全椒县| 高碑店市| 滁州市| 广昌县| 淮北市| 永新县| 吴江市| 兴城市| 博乐市| 邯郸县| 岑巩县| 泰和县| 洪洞县| 威信县| 黄梅县| 朔州市| 曲靖市| 铜梁县| 北安市| 定边县| 临湘市| 鞍山市|