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(){}