我們經(jīng)常會(huì)對(duì)同一個(gè)DOM節(jié)點(diǎn)進(jìn)行多次訪問,當(dāng)文檔非常大的時(shí)候,查詢節(jié)點(diǎn)是非常消耗性能的葫盼,這時(shí)候我們可以先緩存這個(gè)節(jié)點(diǎn),這樣就只需要查詢一次村斟。
- 不好的做法
for (let i = 0;i < 10;i++){
document.getElementById("temp").innerHTML = "";
document.getElementById("temp").innerHTML += "<p>temp</p>";
}
- 改進(jìn)的做法
var temp = document.getElementById("temp");
for (let i = 0;i < 10;i++){
temp.innerHTML = "";
temp.innerHTML += "<p>temp</p>";
}
上面這個(gè)做法還有一個(gè)問題就是進(jìn)行了多次DOM操作贫导,所以我們還可以繼續(xù)改進(jìn)
- 再改進(jìn)
var temp = document.getElementById("temp");
var fragments = "";
for (let i = 0;i < 10;i++){
fragments += "<p>temp</p>";
}
temp.innerHTML = "";
temp.innerHTML = fragments;