前端js性能优化的要点
程序员文章站
2022-03-20 16:33:46
1 尽量少使用全局查找,比如全局变量,如果要多次使用,可以将全局变量存为局部变量再使用 eg:function(){ var body=document.body; alert(body): body.innerHTML="hello world" } 2.优化循环 (1)减值循环 i--(2)do ......
1 尽量少使用全局查找,比如全局变量,如果要多次使用,可以将全局变量存为局部变量再使用
eg:function(){
var body=document.body;
alert(body):
body.innerhtml="hello world"
}
2.优化循环 (1)减值循环 i--(2)do-while比for循环快 (3)简化循环条件 比如循环条件少计算
3 dom层-最小化现场操作,
就是比如新增很多dom 可以先for循环创建个整体的dom碎片 然后再一次性添加进去 会比一个个dom添加要快
var list=document.getelementbyid("mylist");
var frament=document.createdocumentfragment();
for (var i=0;i<10;i++){
var item=document.createlement('li')
frament.appendchild(item)
}
list.appendchild(frament)
4 dom层 --少使用htmlcollection
比如循环中获取dom的length
var images=document.getelementsbytagname('img')
for(i=0,len=images.length;i<len;i++){
}
这样就不用总访问images的htmlcollention
会访问htmlcollention 的一些情况
(1)进行了getelementsbytagname()调用
(2)获取了元素的childnodes属性
(3)获取了元素的 attributes属性
(4)访问了特殊的集合 如documet.forms ,document.images