成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

JavaScript時(shí)間線

atinosun / 3522人閱讀

摘要:創(chuàng)建對(duì)象,添加到中。注意與的不同對(duì)象觸發(fā)事件,這也標(biāo)志著程序執(zhí)行從同步腳本執(zhí)行階段,轉(zhuǎn)化為事件驅(qū)動(dòng)階段。當(dāng)所有的腳本加載完成并執(zhí)行后等加載完成后,,對(duì)象觸發(fā)事件。從此,以異步響應(yīng)方式處理用戶輸入網(wǎng)絡(luò)事件等。

js時(shí)間線

js執(zhí)行是單線程,并不是說(shuō)整個(gè)瀏覽器都是單線程的,姑且就成為單線程吧

js單線程的原因是為了避免多線程操作dom,引發(fā)的并發(fā)問(wèn)題,dom屬于基礎(chǔ)數(shù)據(jù),從多線程上講,對(duì)它的操作要加事物,而js的操作最初就是為了操作dom,嗯,幸好是單線程的,總之一句話,凡是能夠修改dom的一定得同步

客戶端js時(shí)間線

1、創(chuàng)建document對(duì)象,開(kāi)始解析web頁(yè)面。創(chuàng)建HTMLHtmlElement對(duì)象,添加到document中。這個(gè)階段document.readyState = "loading"。
2、遇到link外部css,創(chuàng)建線程加載,并繼續(xù)解析文檔。并發(fā)
3、遇到script外部js,并且沒(méi)有設(shè)置async、defer,瀏覽器創(chuàng)建線程加載,并阻塞,等待js加載完成并執(zhí)行該腳本,然后繼續(xù)解析文檔。js擁有修改dom的能力-->domcument.write
4、遇到script外部js,并且設(shè)置有async、defter,瀏覽器創(chuàng)建線程加載,并繼續(xù)解析文檔。

async屬性的腳本,腳本加載完成后立即執(zhí)行。 defter==丟置尾部。
document.createElement("script")的方式動(dòng)態(tài)插入script元素來(lái)模擬async屬性,實(shí)現(xiàn)腳本異步加載和執(zhí)行。

5、遇到img等,瀏覽器創(chuàng)建線程加載,并繼續(xù)解析文檔。并發(fā)
6、當(dāng)文檔解析完成,document.readyState = "interactive"。
7、文檔解析完成后,所有設(shè)置有defer的腳本會(huì)按照順序執(zhí)行。(注意與async的不同)
8、document對(duì)象觸發(fā)DOMContentLoaded事件,這也標(biāo)志著程序執(zhí)行從同步腳本執(zhí)行階段,轉(zhuǎn)化為事件驅(qū)動(dòng)階段。
9、當(dāng)所有async的腳本加載完成并執(zhí)行后、img等加載完成后,document.readyState = "complete",window對(duì)象觸發(fā)load事件。
10、從此,以異步響應(yīng)方式處理用戶輸入、網(wǎng)絡(luò)事件等。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/83116.html

相關(guān)文章

  • javascript-離應(yīng)用于客戶端存儲(chǔ)

    摘要:離線檢測(cè)含義設(shè)備能否上網(wǎng)代碼注和,和最新的沒(méi)問(wèn)題應(yīng)用緩存緩存的目的是專(zhuān)門(mén)為網(wǎng)頁(yè)離線設(shè)計(jì)的,當(dāng)然在在線情況也會(huì)緩存機(jī)制當(dāng)用戶在地址輸入請(qǐng)求的地址去請(qǐng)求網(wǎng)頁(yè)時(shí),瀏覽器會(huì)先本地緩存中查看是否有對(duì)應(yīng)的緩存文件,如果有然后查看新鮮度就是是否過(guò)期了,如 23.1 離線檢測(cè) 含義:設(shè)備能否上網(wǎng) 代碼: navigator.onLine 注:IE6+和safari+5,firefox3+和ope...

    gecko23 評(píng)論0 收藏0
  • 高級(jí)定時(shí)器---《高程3》

    摘要:也就是說(shuō),代碼隊(duì)列中僅能有一個(gè)間歇定時(shí)器在等待。這導(dǎo)致兩個(gè)問(wèn)題,一是某些間隔會(huì)跳過(guò),二是多個(gè)定時(shí)器的代碼之間的間隔可能比預(yù)期的小。 定時(shí)器:間歇調(diào)用和超時(shí)調(diào)用 超時(shí)調(diào)用:setTimeout(),接受兩個(gè)參數(shù),第一個(gè)參數(shù)是可執(zhí)行的JavaScript代碼字符串,或是回調(diào)函數(shù),第二個(gè)參數(shù)是毫秒為單位的插入代碼隊(duì)列的的時(shí)間。清除方式:clearTimeout(),參數(shù)是設(shè)置setTimeo...

    miya 評(píng)論0 收藏0
  • 高級(jí)定時(shí)器---《高程3》

    摘要:也就是說(shuō),代碼隊(duì)列中僅能有一個(gè)間歇定時(shí)器在等待。這導(dǎo)致兩個(gè)問(wèn)題,一是某些間隔會(huì)跳過(guò),二是多個(gè)定時(shí)器的代碼之間的間隔可能比預(yù)期的小。 定時(shí)器:間歇調(diào)用和超時(shí)調(diào)用 超時(shí)調(diào)用:setTimeout(),接受兩個(gè)參數(shù),第一個(gè)參數(shù)是可執(zhí)行的JavaScript代碼字符串,或是回調(diào)函數(shù),第二個(gè)參數(shù)是毫秒為單位的插入代碼隊(duì)列的的時(shí)間。清除方式:clearTimeout(),參數(shù)是設(shè)置setTimeo...

    hikui 評(píng)論0 收藏0
  • JS學(xué)習(xí)筆記(第23章)(離應(yīng)用與客戶端存儲(chǔ)1)

    摘要:應(yīng)用緩存的應(yīng)用緩存,或者簡(jiǎn)稱(chēng)為,是專(zhuān)門(mén)為開(kāi)發(fā)離線應(yīng)用而設(shè)計(jì)的。應(yīng)用緩存還有很多相關(guān)的事件,表示其狀態(tài)的改變。數(shù)據(jù)存儲(chǔ),通常直接叫做,最初是在客戶端用于存儲(chǔ)會(huì)話信息的。也就是使用值來(lái)存儲(chǔ)多個(gè)名稱(chēng)值對(duì)兒。 所謂Web離線應(yīng)用,就是在設(shè)備不能上網(wǎng)的情況下仍然可以運(yùn)行的應(yīng)用。開(kāi)發(fā)離線Web應(yīng)用需要幾個(gè)步驟:(1)確保應(yīng)用知道設(shè)備是否能上網(wǎng);(2)應(yīng)用還必須能訪問(wèn)一定的資源(圖像、JavaScr...

    fjcgreat 評(píng)論0 收藏0
  • HTML5的離存儲(chǔ)

    摘要:的離線存儲(chǔ)使用以及工作原理解答使用方式在頁(yè)面頭部中加入一個(gè)的屬性就可以的書(shū)寫(xiě)方式,如下表示需要離線存儲(chǔ)的資源列表表示在中列出的資源只有在在線情況下才能訪問(wèn),不會(huì)被離線存儲(chǔ),若和中都有這個(gè)資源則會(huì)離線存儲(chǔ),因?yàn)榈膬?yōu)先級(jí)更高表示如果第一個(gè)資源訪 HTML5的離線存儲(chǔ)使用以及工作原理解答? 使用方式:在頁(yè)面頭部中加入一個(gè)manifest的屬性就可以 ... cache.manifest...

    Joyven 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<