1)优化for循环,其他语言同样适用
var result=someFunction(arg);//someFunction复杂且result的值大,效果越明显 for(var i=0;i<result;i++){ //some code }
2)尽量减少点操作符的使用
//比如有一段代码 links[i].style.color = "#111111"; links[i].style.backgroundColor = "#ffffff"; links[i].style.width = "100px"; links[i].style.height = "100px"; //这样写比较好 var linkstyle=links[i].style; linkstyle.color = "#111111"; llinkstyle.backgroundColor = "#ffffff"; linkstyle.width = "100px"; linkstyle.height = "100px";
3)最后再将节点附加到文档,避免反复修改DOM
function createNameList() { var rightSide = document.getElementById("rightSide");//得到DOM中的元素 var length = sortedNameList.length; for ( var i = 0; i < length; i++) { var link = document.createElement("a"); var name = document .createTextNode(sortedNameList[i].toString()); link.setAttribute("href", "#"); link.appendChild(name); rightSide.appendChild(link);//不断地在修改DOM rightSide.appendChild(document.createElement("br")); } }做如下改动
function createNameList() { var rightSide = document.getElementById("rightSide");//得到DOM中的元素 var wrapper = document.createElement("div");//1,加一个节点 var length = sortedNameList.length; for ( var i = 0; i < length; i++) { var link = document.createElement("a"); var name = document .createTextNode(sortedNameList[i].toString()); link.setAttribute("href", "#"); link.appendChild(name); wrapper.appendChild(link);//2,把元素添加到DOM外的节点里 wrapper.appendChild(document.createElement("br")); } rightSide.appendChild(wrapper);//3,最后把节点添加到DOM中,只对DOM操作一次 }