提到性能,在循环中需要避免的工作一直是个热门话题,因为循环会被重复执行很多次。所以如果有性能优化的需求,先对循环开刀有可能会获得最明显的性能提升。

    一种优化循环的方法是在定义循环的时候,将控制条件和控制变量合并起来,下面是一个没有将他们合并起来的例子:

    1. for (var x = 0; x < 10; x++) {
    2. // do something here
    3. }

    当我们要添加代码到这个循环里去,我们发现有几个操作在每次迭代都会出现。JavaScript引擎需要:

    1. 检查 x 是否存在

    2. 检查 x 是否小于 0

    3. 使 x 增加 1

    然而如果你只是迭代元素中的一些元素,那么你可以使用while循环进行轮转来替代上面这种操作:

    1. var x = 9;
    2. do {
    3. // do something here
    4. } while( x-- );