JavaScript中“过于”犀利地for/in循环使用示例

  Java中的增强for循环很是好用

  

复制代码 代码如下:

  for (String str : list) {

  System.out.println(str);//其中str直接就是集合中的元素

  }

  但是JavaScript中为我们提供的for/in循环已然不是这么简单了

  

复制代码 代码如下:

  var car

  var garage= new Array()

  garage[0] = "宝马"

  garage[1] = "奔驰"

  garage[2] = "宾利"

  for (car in garage)

  {

  document.write(garage[car] + " ")

  }

  //输出结果: 宝马 奔驰 宾利

  看起来我得到我的车列表了

  但是现在我对我的车库有更高的要求,我希望它可以上锁,并且能够自行清洁

  于是

  

复制代码 代码如下:

  var car

  var garage= new Array()

  garage[0] = "宝马"

  garage[1] = "奔驰"

  garage[2] = "宾利"

  garage.locked = true

  garage.clean = function(){

  alert("清洁")

  }

  for (car in garage)

  {

  document.write(garage[car] + " ")

  }

  //输出结果:宝马 奔驰 宾利 true function (){ alert("清洁") }

  好嘛,它把自己知道的都说了出来

  为了避免这种尴尬我们只好用回原始for循环

  

复制代码 代码如下:

  var car

  var garage= new Array()

  garage[0] = "宝马"

  garage[1] = "奔驰"

  garage[2] = "宾利"

  garage.locked = true

  garage.clean = function(){

  alert("清洁")

  }

  for (car = 0;car < garage.length;car++)

  {

  document.write(garage[car] + " ")

  }

  //输出结果:宝马 奔驰 宾利

  恩,这下好多了。