js性能优化

来源:互联网 发布:南京软件学院 编辑:程序博客网 时间:2024/05/14 15:26

1.循环遍历

   js提供了3中遍历方式:

        for(var i=?;i<?;i++){};

        while(条件){};

        for(i in 数组){};

   这3中方式中for(in)性能最差,因为它每次循环都要查hash键值。其他2个性能差不多。


2.if语句简写

  (1)使用三目运算代替if...else语句

if(a==1){//a=1?b=1:b=2;b=1;}else{b=2;}
或者

if(a==1){//等价于:return a=1?b:c;return b;}else{return c;}

   (2)使用&&或||(该写法出现较少,不具有易读性)

a=1&&b=1;//等价于if(a==1){b=1}a=1||b=1;//等价于if(a!=1){b=1}

  (3)省略{}

if(a==1)b=1;else b=2;//等价于:if(a==1){b=1;}else{b=2;}


3.小技巧

  a.局部变量的访问速度要比全局变量的访问速度更快,因为全局变量其实是window对象的成员,而局部变量是放在函数的栈里的。

  b.创建对象的时间和空间开销都比较大,尽量使用缓存。

  c.当需要将浮点数转换成整型时,应该使用Math.floor()或者Math.round()。而不是使用parseInt(),该方法用于将字符串转换成数字。而且Math是内部对象,所以Math.floor()其实并没有多少查询方法和调用时间,速度是最快的。

  d.数字转字符串的时候尽量使用:数字+"";

  e.在循环时,缓存数组长度,而不是每一次都去计算数组长度。


0 0
原创粉丝点击