for...in 循环


JScript 提供了一种特别的循环方式来遍历一个对象的所有用户定义的属性或者一个数组的所有元素。for...in 循环中的循环计数器是一个字符串,而不是数字。它包含当前属性的名称或者当前数组元素的下标。

下面的代码范例应在 Internet 浏览器中运行,因为它使用 alert 方法,该方法不属于 Jscript。

// 创建具有某些属性的对象var myObject = new Object();myObject.name = "James";
myObject.age = "22";myObject.phone = "555 1234";// 枚举(循环)对象的所有属性
for (prop in myObject){    // 显示 "The property 'name' is James",等等。
window.alert("The property '" + prop + "' is " + myObject[prop]);
}

尽管 for...in 循环看起来像 VBScript 的 For Each...Next 循环,其实并不一样。JScript 的 for...in 循环重复Jscript 对象所有的属性。VBScript 的 For Each...Next 循环重复集合中的所有项目。要循环 JScript 中的所有集合,需要用 Enumerator 对象。尽管某些对象(像 Internet 浏览器中的那些)支持 VBScript 的 For Each...Next 和 Jscript 的 for...in 循环,但多数对象并不都支持。