for...in循环、for each...in循环的区别

for...in循环:

     for...in语句用来迭代(或者说遍历)对象的属性或数组中的元素,并对每个属性或方法执行运算。但是对象的方法不能由for...in语句来迭代,有些语句也不能有for...in来迭代,例如某些宿主对象的属性。和实力成员不同的是,静态成员也是不能迭代的。

例子:

1、用for...in语句遍历myObject对象的属性:

var myObject = {hisName: "javascript", age: 11, belonging: "ECMA" };
for(var prop in myObject){
    document.write("myObject." + prop + "=" myObject[prop] + "<br>");
}

 执行的结果将会显示在浏览器中,如下:

myObject.hisName = javascript
myObject.belonging = ECMA
myObject.age = 11

2、下面用for...in语句遍历数组的元素:

var myArray = new Array("one","two","three");
for(var index in myArray){
     document.write("myArray[" + index + "] = " + myArray[index] + "<br>"):
}
 

  执行的结果将会显示在浏览器中,如下:

myArray[2] = three
myArray[1] = two
myArray[0] = one

 

for each...in :

与for...in语句不同的是,for each...in语句将遍历对象属性的值,而不是属性的名称。

例子:

1、用for each...in语句遍历myObject对象的属性:

var myObject = {hisName: "javascript", age: 11, belonging: "ECMA" };
for(var item in myObject){
    document.write(item+ "<br>");
}

  执行的结果将会显示在浏览器中,如下:

javascript
ECMA
11
 

 2、下面用for each...in 语句遍历数组的元素:

var myArray = new Array("one","two","three");
for(var item in myArray){
     document.write(item + "<br>"):
}

   执行的结果将会显示在浏览器中,如下:

three
two
one
 

相关推荐