摘要:總而言之,只有先構(gòu)建了對(duì)應(yīng)的你才能用腳本去操作它所以這就是如果在中寫內(nèi)聯(lián)不加經(jīng)常報(bào)錯(cuò)的原因,通常因?yàn)檎也坏綄?duì)應(yīng)的這也是我們?yōu)槭裁赐ǔ0淹怄湻旁诘撞窟M(jìn)行加載確保了和加載完畢主要內(nèi)容已經(jīng)呈現(xiàn)給用戶確保了和加載完畢所有處于可操作狀態(tài)
前言
我就想隨便找個(gè)地方放東西不行嗎?
看別人寫的代碼,中寫原生js無(wú)一例外加了window.onload, jquery示例中無(wú)一例外的加了 $(function(){}) But why? 從此這兩尊神秘的大佛讓我畏懼了很久,今天寫的博文,就是為了崇尚科學(xué)破除迷信,撕下"規(guī)則" 的神秘面紗. 而這神秘的面紗,本質(zhì)就是瀏覽器加載js的方式
總的來(lái)說(shuō),瀏覽器加載js通常就這么幾種方式:
阻塞加載
異步加載
延遲加載
... ...
阻塞加載是瀏覽器最常見的加載js的方式,不管這條語(yǔ)句出現(xiàn)在頁(yè)面中的什么位置, 瀏覽器解析到該標(biāo)簽時(shí), 會(huì)堵塞下載(即串行)xx.js, ?同時(shí)位于該標(biāo)簽之后的資源下載和解析全部掛起. xx.js下載完成之后立刻執(zhí)行,執(zhí)行完畢之后,才開始后續(xù)資源的下載和解析
不管這條語(yǔ)句出現(xiàn)在頁(yè)面中的什么位置, 瀏覽器解析到該標(biāo)簽時(shí), 會(huì)非堵塞下載(即并行)xx.js, (非堵塞下載即該資源在下載的過程中不影響后續(xù)資源的下載和解析),?下載完成之后立即執(zhí)行
不管這條語(yǔ)句出現(xiàn)在頁(yè)面中的什么位置, 瀏覽器解析到該標(biāo)簽時(shí), 會(huì)非堵塞下載(即并行)xx.js, (非堵塞下載即該資源在下載的過程中不影響后續(xù)資源的下載和解析),?下載完成之后掛起,等到DOMContentLoaded事件完成之后再執(zhí)行
同異步加載
通過了解了常見的幾種加載js的方法,前言中提出的問題相信大家已經(jīng)有了答案
為什么如果在中寫內(nèi)聯(lián)js一般會(huì)如此開頭:
window.onload=function(){...}
因?yàn)?(function(){})是DOMContentLoaded回調(diào),表示DOM樹已經(jīng)構(gòu)建完成.window.onload 是整個(gè)頁(yè)面資源加載完成的回調(diào)??偠灾挥邢葮?gòu)建了對(duì)應(yīng)的DOM,你才能用腳本去操作它.所以這就是如果在中寫內(nèi)聯(lián)js不加window.onload經(jīng)常報(bào)錯(cuò)的原因,通常因?yàn)檎也坏綄?duì)應(yīng)的DOM
這也是我們?yōu)槭裁赐ǔ0淹怄淛s放在底部進(jìn)行加載:
確保了CSS和HTML加載完畢,主要內(nèi)容已經(jīng)呈現(xiàn)給用戶
確保了CSS和HTML加載完畢,所有DOM處于可操作狀態(tài)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/49899.html
摘要:總而言之,只有先構(gòu)建了對(duì)應(yīng)的你才能用腳本去操作它所以這就是如果在中寫內(nèi)聯(lián)不加經(jīng)常報(bào)錯(cuò)的原因,通常因?yàn)檎也坏綄?duì)應(yīng)的這也是我們?yōu)槭裁赐ǔ0淹怄湻旁诘撞窟M(jìn)行加載確保了和加載完畢主要內(nèi)容已經(jīng)呈現(xiàn)給用戶確保了和加載完畢所有處于可操作狀態(tài) 前言 我就想隨便找個(gè)地方放東西不行嗎? 看別人寫的代碼,中寫原生js無(wú)一例外加了window.onload, jquery示例中無(wú)一例外的加了 $(funct...
摘要:前言優(yōu)化又是優(yōu)化切圖崽們作為整個(gè)應(yīng)用的紐帶,連接著用戶行為和機(jī)器性能而優(yōu)化的最終意義,在于在這兩者之間取得一個(gè)最佳的平衡點(diǎn)對(duì)于圖片資源的加載來(lái)說(shuō),更是如此今天我們就來(lái)簡(jiǎn)單說(shuō)說(shuō),項(xiàng)目開發(fā)中常見的圖片加載優(yōu)化方式預(yù)加載遮罩大法我們經(jīng)常用中實(shí)際上 前言 優(yōu)化! 又是優(yōu)化! 切圖崽們作為整個(gè)web應(yīng)用的紐帶,連接著用戶行為和機(jī)器性能. 而優(yōu)化的最終意義,在于在這兩者之間取得一個(gè)最佳的平衡點(diǎn). ...
摘要:前言優(yōu)化又是優(yōu)化切圖崽們作為整個(gè)應(yīng)用的紐帶,連接著用戶行為和機(jī)器性能而優(yōu)化的最終意義,在于在這兩者之間取得一個(gè)最佳的平衡點(diǎn)對(duì)于圖片資源的加載來(lái)說(shuō),更是如此今天我們就來(lái)簡(jiǎn)單說(shuō)說(shuō),項(xiàng)目開發(fā)中常見的圖片加載優(yōu)化方式預(yù)加載遮罩大法我們經(jīng)常用中實(shí)際上 前言 優(yōu)化! 又是優(yōu)化! 切圖崽們作為整個(gè)web應(yīng)用的紐帶,連接著用戶行為和機(jī)器性能. 而優(yōu)化的最終意義,在于在這兩者之間取得一個(gè)最佳的平衡點(diǎn). ...
摘要:前言優(yōu)化又是優(yōu)化切圖崽們作為整個(gè)應(yīng)用的紐帶,連接著用戶行為和機(jī)器性能而優(yōu)化的最終意義,在于在這兩者之間取得一個(gè)最佳的平衡點(diǎn)對(duì)于圖片資源的加載來(lái)說(shuō),更是如此今天我們就來(lái)簡(jiǎn)單說(shuō)說(shuō),項(xiàng)目開發(fā)中常見的圖片加載優(yōu)化方式預(yù)加載遮罩大法我們經(jīng)常用中實(shí)際上 前言 優(yōu)化! 又是優(yōu)化! 切圖崽們作為整個(gè)web應(yīng)用的紐帶,連接著用戶行為和機(jī)器性能. 而優(yōu)化的最終意義,在于在這兩者之間取得一個(gè)最佳的平衡點(diǎn). ...
摘要:之前的閉包也好,自執(zhí)行函數(shù)也好,都是模塊化的一些嘗試,直到規(guī)范推出之后,模塊化才真正迅猛發(fā)展起來(lái)。因?yàn)橛辛四K化的概念,才有了按需加載的概念。 前言 我們來(lái)玩樂高積木吧 模塊化Js已經(jīng)成為了老生常談,不過在JavaScript設(shè)計(jì)之初,由于定位的問題并沒有提供類的功能,開發(fā)者需要模擬出類似的功能,來(lái)隔離、組織復(fù)雜的JavaScript代碼。之前的閉包也好,自執(zhí)行函數(shù)也好,都是模塊化的一...
閱讀 2779·2023-04-25 21:26
閱讀 1543·2021-11-25 09:43
閱讀 1975·2019-08-30 15:52
閱讀 955·2019-08-30 14:05
閱讀 2641·2019-08-29 16:10
閱讀 444·2019-08-29 13:48
閱讀 1885·2019-08-29 12:47
閱讀 1324·2019-08-23 18:04