今天寫個無聊的東西!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也是能夠使用的!//技巧的地方是聲明條件的同一時候賦值。能夠降低一行賦值暫時變量的代碼! }