性能優化——緩存DOM對象

我們經常會對同一個DOM節點進行多次訪問,當文檔非常大的時候,查詢節點是非常消耗性能的,這時候我們可以先緩存這個節點,這樣就只需要查詢一次。

  • 不好的做法
for (let i = 0;i < 10;i++){
  document.getElementById("temp").innerHTML = "";
  document.getElementById("temp").innerHTML += "<p>temp</p>";
}
  • 改進的做法
var temp = document.getElementById("temp");

for (let i = 0;i < 10;i++){
  temp.innerHTML = "";
  temp.innerHTML += "<p>temp</p>";
}

上面這個做法還有一個問題就是進行了多次DOM操作,所以我們還可以繼續改進

  • 再改進
var temp = document.getElementById("temp");
var fragments = "";

for (let i = 0;i < 10;i++){
  fragments += "<p>temp</p>";
}
temp.innerHTML = "";
temp.innerHTML = fragments;

參考:https://segmentfault.com/a/1190000000490322

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,814評論 25 708
  • AJax 優化 緩存 Ajax 請求盡量使用GET, 僅取決于cookie數量 Cookie 優化 減少Cooki...
    KeKeMars閱讀 9,370評論 5 89
  • 無論前一秒看文章多么熱淚盈眶,下一秒還是依然會有不作為的傻逼找你茬。感性止于工作,止于吃飯,止于現實中不作為的你!
    紫陌CM閱讀 114評論 0 0
  • 我只是靜靜的望著 無論你來 或者不來 雨 沿著時間的縫隙 濕潤了我的襯衫 我想走 可漫長的腳步 卻使我默立 我相信...
    瘋Thelonious閱讀 325評論 1 1
  • java.util.ArrayList 內部數據結構為數組,ArrayList源碼(基于JDK7)如下:
    FX_SKY閱讀 243評論 0 0