FOR 循环我们用的真的是太多了,但你是否关注过它的优化写法呢?记录下:
1. 最最常规写法,没有任何不妥
for (var i = 0; i < 10; i++) {
// do something...
}
2. 循环的次数为变量的情况
for (var i = 0; i < arr.length; i++) {
// do something...
}
其实大多数人都是这种写法,这种写法的缺点在于,每次循环都要去读取一次数组的长度,不划算
3. 变量情况的优化写法
for (var i = 0, l = arr.length; i < l; i++) {
// do something...
}
将长度进行存储,之后循环无需再去读取长度
4. 上面3的写法也可以这样写
var i = 0, l = arr.length; for (; i < l; i++) {
// do something...
}
这只是3的一种变体,另一种写法而已,谈不上优化。因为无块级作用域,所以和3的效果是一样的
5. 优化写法升级版
for (var i = arr.length - 1; i >= 0; i--) {
// do something...
}
推荐的写法,它在第3种的基础上节约了一个变量。