天天看點

Javascript中的循環

Javascript中有兩種循環的方法for循環和for-in循環

for循環主要用來循環數組,for-in循環應該用來周遊非數組對象。從技術上來說,for-in循環也可以用來周遊數組(JS中數組也是對象),但這樣做并不是很好,當該數組被自定義函數擴大後,有可能導緻邏輯上的錯。

for循環的正常寫法

for(var i = 0; i < myarray.length; i++){

  //對myarray[i]進行操作

}

在正常寫法中,每次循環時都要重新通路計算數組的長度,将會導緻代碼運作速度下降(蚊子再小也是肉,提速從細節做起,積少成多),是以,最好寫成如下寫法

for(var i = 0;mar = myarray.length;i++){

此做法,隻計算一次length,推薦!

for-in循環:使用for-in循環,最好使用hasOwnProperty()方法

var myObj = {

  attr1:1,

  attr2:2

for(var attr in myObj ){

  if(myObj.hasOwnProperty(attr)){

    //操作myObj(attr)

  }

如果不明白為什麼這樣做,可以在代碼裡加入如下代碼,在上面的if判斷裡加入console.log(myObj(attr))看看效果

 Object.prototype.clone = function(){}