前端性能优化:循环内部优化

代码优化,首先应该优化循环,但循环处理展开,判断条件的优化,还有其他方式吗?

其实在操作系统中介绍了系统会优化的一个方法,就是循环不变量外提。其实在for循环中把长度定义在循环外就是循环不变量外提。

1循环不变量外提

 var lengtharr = t.length;  
       for (var i = 0; i < lengtharr; i++) {  
           total += t[i];  
       }  

js中由于使用的是原型链的访问方式,因此局部变量的访问速度最快,链条越长访问越慢。因此可以把链条变短。例如:

var lengtharr=t.length;
for(var i=0;i

改为:

var total=syt.name.index.total;
var lengtharr=t.length;
for(var i=0;i

其实也可以算是另一种的循环不变量

2使用原始方法,避免使用封装的方法。

最典型的例子莫过于jQuery的each方法比原始的for循环效率低很多

3减少内部必要的判断逻辑

 例如可以展开循环减少判断,针对具体的情况取消不必要的判断,改变条件的使用方式等。

前端性能优化:条件判断优化


优化原则:

除非你要迭代遍历一个属性未知的对象,否则不要使用 for-in 循环。 

改善循环性能的最好办法是减少每次迭代中的运算量,并减少循环迭代次数。

一般来说,switch 总是比 if-else 更快,但并不总是最好的解决方法。 

当判断条件较多时,查表法比 if-else 或者 switch更快。 

   运行的代码总量越大,使用这些策略所带来的性能提升就越明显。


你可能感兴趣的:(前端性能优化,js,前端性能优化)