最近在學習dom樹節點操作時,發現查詢結點總是返回null,原因在於將js程式碼放在了head裡,因為頁面是從上往下逐行載入,在還未載入相關節點時當然查詢不到,返回值為null.
而對於另一句老生常談的語句:“在不影響HTML頁面載入的情況下,js程式碼越晚載入越好”,博主在查閱了部分資料後,有了如下初步認識:
- 瀏覽器逐行解析程式碼,放在頭部的js程式碼會拖慢頁面載入速度
- 部分(如onload)應該在頁面載入時生效的js程式碼,應該放在頁面頭部
- 將不同模組頁面合併時,有些js程式碼無可避免的會出現在body中
- 頁面元素未載入時,對該元素的操作會失效
另外,https://segmentfault.com/a/1190000004292479這篇文章有關於dom樹和js程式碼的深入解釋,但現在所學尚淺,還不能完全理解,待深入學習之後,在做第二次整理。