今天写个无聊的东西!for循环的使用!
例如以下:定义a数组,b为伪数组!
var a = [1,2,3,0,5,4]; var b = document.getElementsByTagName('li'); //[<li>1</li>,<li>2</li>,<li>3</li>,<li>4</li>,<li>5</li>]
第一种:错误型!
for ( var i = 0; i < a.length; i++ ){ //这样的写法是最主要的。但错误的地方是数组长度不该每次都取。所以一般我们都会用另外一种写法! }
另外一种:通用型!
for ( var i = 0,l = a.length; i < l; i++ ){ //这样的写法是最常见的。最好理解的,也是通用的,对于a,b这两种类型的(伪)数组都能够。 }
第三种:优化型
for ( var i = a.length - 1; i >= 0 ; i-- ) { //这样的写法非常巧妙,倒序来遍历,从而节省了一个暂时变量!对于a,b这两种类型的(伪)数组都能够。 //google的compiler压缩后就会对for循环做这样的优化!}
for ( var i = 0; b[i]; i++ ) { //这样的写法不是通用的,对于数组a就不行。但对于数组b这样的dom元素的集合来说非常有用! }
for ( var i = 0, elem; (elem = b[i]) != null; i++ ) { //这样的写法也是特定情况下使用的,当数组的元素不等于某一个值得时候,这里是当遇到null或undefined时停止循环,所以数组a也是能够使用的!//技巧的地方是声明条件的同一时候赋值。能够降低一行赋值暂时变量的代码! }