JS - for循环之数组遍历


0x00 首先定义a数组,b为伪数组!

1
2
var a = [1,2,3,0,5,4];
var b = document.getElementsByTagName('li'); // [<li>1</li>,<li>2</li>,<li>3</li>]

0x01 普通写法

1
2
3
for ( var i = 0; i < a.length; i++ ){
//每次循环都会获取数组长度
}

0x02 进阶写法

1
2
3
for ( var i = 0,l = a.length; i < l; i++ ){
//对于a,b这两种类型的(伪)数组都能通用
}

0x03 优化写法

1
2
3
4
for ( var i = a.length - 1; i >= 0 ; i-- ) {
//倒序遍历法,巧妙之处在于节省了一个变量,优化了写法。对于a,b这两种类型的(伪)数组都能通用
//也是google的compiler压缩JS对for循环的优化
}

0x04 特定写法1

1
2
3
for ( var i = 0; b[i]; i++ ) {
//只针对数组b中的dom元素的集合
}

0x05 特定写法2

1
2
3
for ( var i = 0, elem; (elem = b[i]) != null; i++ ) {
//当数组的元素不等于null或undefined时循环。对于a,b这两种类型的(伪)数组都能通用
}