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