提到性能,在循环中需要避免的工作一直是个热门话题,因为循环会被重复执行很多次。所以如果有性能优化的需求,先对循环开刀有可能会获得最明显的性能提升。
一种优化循环的方法是在定义循环的时候,将控制条件和控制变量合并起来,下面是一个没有将他们合并起来的例子:
for (var x = 0; x < 10; x++) {
// do something here
}
当我们要添加代码到这个循环里去,我们发现有几个操作在每次迭代都会出现。JavaScript引擎需要:
检查 x 是否存在
检查 x 是否小于 0
使 x 增加 1
然而如果你只是迭代元素中的一些元素,那么你可以使用while循环进行轮转来替代上面这种操作:
var x = 9;
do {
// do something here
} while( x-- );