js总结(四):关于高性能

参考《高性能网站建设进阶指南》

不仅仅关注页面加载时间,也要关注下页面操作时的相应速度。页面操作是我们写程序中 实实在在需要的

1、使用局部变量

任何非局部变量,在函数中使用次数超过一次时,就应该将其变成局部变量。

  

var setName = function (){
    if(!$("#name").val()){
        $("#name").val("ddd");
    }
}
//下面应该变成一个局部变量
var setName = function (){
var $name=  $("#name");
    if(!$name.val()){
       $name.val("ddd");
    }
}

全局变量对象始终是作用域中的,最后一个;所以对全局变量的解析是最耗时的。

 2、数据存储的位置

     4种地方可以存储:字面量值、变量、数组元素、对象属性

字面量值和局部变量中读取值的开销差异很小,可以忽略不计。主要差别是数组和对象中读取值。

   在循环,将函数中使用超过一次的对象属性或者数组元素,存储为一个局部变量

 

var a = ["a","b","c"]
for(var i =0 ;i<a.length){
   console.log( a[i])

}
//减少读取数据的长度
var a = ["a","b","c"]
var b =a.length;
for(var i =0 ;i<b){
   console.log( a[i])

}

 

   3、流控制

流程的控制是提升性能的重要一环。条件判断,尽可能尽快结束。当仅判断一两个条件时,if语句通常比switch更快。当有2个以上条件判断且条件比较简单时(不是进行范围判断),switch语句更快。

 

4、减少dom操作

如果必须dom操作,在没显示之前,可以先隐藏再dom操作

posted on 2014-11-27 19:28  dhj  阅读(400)  评论(0编辑  收藏  举报

导航