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的效率,最好的总结,如开头所说的那样。