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操作

你可能感兴趣的:(高性能)