天天看点

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