JavaScript提供一种特殊的循环,用于单步执行对象的所有用户定义的属性或数组的所有元素。for...in循环中的循环计数器是字符串,而不是数字。它包含当前属性的名称或当前数组元素的索引。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
// Create an object with some properties
var
myObject =
new
Object();
myObject.name =
"James"
;
myObject.age =
"22"
;
myObject.phone =
"555 1234"
;
// Enumerate (loop through)_all the properties in the object
for
(
var
prop
in
myObject)
{
// This displays "The property 'name' is James", etc..
document.write(
"The property '"
+ prop +
"' is "
+ myObject[prop]);
// New line.
document.write(
"<br />"
);
}
|
虽然for...in循环看起来类似于VBScript的ForEach...Next循环,但二者的工作方式不同。JavaScriptfor...in循环将循环访问JavaScript对象的属性。VBScriptForEach...Next循环将循环访问集合中的项(C#中的for…in…循环也是遍历集合的)。若要循环JavaScript中的集合,您需要使用Enumerator对象。虽然某些对象(如InternetExplorer中的对象)同时支持VBScriptForEach...Next循环和JavaScriptfor...in循环,但大多数对象都无法实现这一点。
上述代码执行结果:
1
2
3
|
The property 'name' is James
The property 'age' is 22
The property 'phone' is 555 1234
|
本文转自 huohe2009 51CTO博客,原文链接:http://blog.51cto.com/zhaojie/1310402