在js中一般使用的循环有两种:

1.常规的for(var i=0;i<length;i++)

2.for-in:for(var item in list)

3.for of

描述
对应于一个对象的每个属性,或一个数组的每个元素,执行一个或多个语句。 
语法
for (variable in [object | array])
    statement 
for 语句的语法组成如下: 

部分 描述 
variable 一个变量,它可以是 object 的任一属性或 array 的任一元素。  
object, array 要在其上遍历的对象或数组。 
statement 相对于 object 的每个属性或 array 的每个元素,都要被执行的语句。可以是复合语句。 


说明
在循环的每次迭代前,variable 被赋予 object 的下一个属性或 array 的下一个元素。然后可以在循环内的任一语句中使用它,就好像正在使用 object 的该属性或 array 的该元素一样。
当在一个对象上迭代时,没有办法决定或控制把对象的成员赋给 variable 的次序。在数组内将按元素的次序执行迭代,也就是,0、1、2、……

下面示例说明了 for ... in 语句的用法,它把一个对象用作一个联合数组: 

function ForInDemo()
{
  // 创建某些变量。
  var a, key, s = "";
  // 初始化对象。
  a = {"a" : "Athens" , "b" : "Belgrade", "c" : "Cairo"}
  // 迭代属性。
  for (key in a)
  {
     s += a[key] + "<BR>";
  }
  return(s);
}