js中条件判断中提升性能和执行时间的方法

最近在看性能优化的问题,看了关于js中条件判断如何进行最大的性能优化的解决方法。技术分享

 

编写js代码过程中经常用到的性能优化,可以提高js的执行效率。

1.使用局部变量,尽量少用全局变量,因为全局变量是在作用域链中最后一个进行查找的,花费时间长。

 var a = document.getElementId("a");  //document是一个全局变量有时候需要在一个js函数中重复使用到,故需要把它保存局部变量中,提高效率

var doc = document; var a = doc.getElementId("a");

2.循环遍历js中的数组时,经常每次循环需要用到length,其为全局变量每次都要花费较长的时间去获取,故要把它保存在局部变量中,提高效率

for(var i=0;var len = a.length; i < len;i ++) 效率远远大于 for(var i=0;i<a.length;i++)

3.编写出高效率的js,需要注意合理管理作用域。冗长作用域链会降低执行效率,反之则可以提高效率

4.要善于流控制提高效率,如if-else, switch,数组判断时。

技术分享

                   图1

如图所示,上述的条件判断,如果每次要获取到result10,都要做多次判断后才获得,而其又是执行频率最高的操作,此时上述的做法,明显大大降低了效率。解决方法之一,将执行频率高的条件判断尽量往前靠

技术分享

也可以将其进行分流控制:可以减少每次判断的此时,以下的做法是的每次的判断次数不超过4次

技术分享

技术分享

同样的条件用switch的效率比用if-else的效率高

技术分享

 

如果条件判断很多的话最好的方式是将其存放到数组中,然后通过查询数组返回结果,这种效率较高

 

技术分享

 

总之,通过流控制来提高js的效率,最好的总结,如开头所说的那样。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。