關於js程式碼位置的第一次總結

voidchar發表於2019-01-09

最近在學習dom樹節點操作時,發現查詢結點總是返回null,原因在於將js程式碼放在了head裡,因為頁面是從上往下逐行載入,在還未載入相關節點時當然查詢不到,返回值為null.

而對於另一句老生常談的語句:“在不影響HTML頁面載入的情況下,js程式碼越晚載入越好”,博主在查閱了部分資料後,有了如下初步認識:

  1. 瀏覽器逐行解析程式碼,放在頭部的js程式碼會拖慢頁面載入速度
  2. 部分(如onload)應該在頁面載入時生效的js程式碼,應該放在頁面頭部
  3. 將不同模組頁面合併時,有些js程式碼無可避免的會出現在body中
  4. 頁面元素未載入時,對該元素的操作會失效

另外,https://segmentfault.com/a/1190000004292479這篇文章有關於dom樹和js程式碼的深入解釋,但現在所學尚淺,還不能完全理解,待深入學習之後,在做第二次整理。

相關文章