我們經常會對同一個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;