JS 之 script標籤

你今天學習了嗎發表於2018-09-29

1.script標籤
  1.js程式碼的解析(包括下載js檔案)會阻塞頁面載入
  2.當js檔案放在頭部,頁面必須等所有js程式碼都被下載,解析和執行完成後才開始呈現頁面內容(遇到body標籤才呈現),對於那些需要很多js檔案的頁面來說,會有很大的延遲,瀏覽器頁面空白時間,              所以儘量把全部js檔案引用放在body標籤內的最底部,先呈現內容,使用者體驗更好
2.defer延遲指令碼
  script標籤加上defer屬性,瀏覽器會非同步地下載該檔案,不會影響後續dom的渲染,如果有多個defer的script標籤,則會按順序執行所有的script;defer指令碼會在文件渲染完畢後,DomContentLoad前執行
Dom文件載入步驟:
(1)解析html結構

(2)載入外部指令碼和樣式表檔案

(3)解析並執行指令碼程式碼

(4)構造HTML DOM模型 //DOMContentLoaded執行點

(5)載入圖片等外部檔案

(6)頁面載入完畢 //load

3.async非同步指令碼
  告訴瀏覽器非同步下載async屬性檔案,async不保證指令碼的執行順序,先載入完先執行

4.嵌入程式碼與外部檔案
  外部檔案優點:
  (1)可維護性:不必觸及html標記,專心編輯js
  (2)可快取: 引用同一個外部檔案可被瀏覽器快取,只需下載一次
  (3)適應未來

相關文章