as3中for..in 语句和for each..in 语句

for..in 语句遍历对象的动态属性或数组中的元素,并对每个属性或元素执行 statement。对象属性不按任何特定的顺序保存,因此属性看似以随机的顺序出现。固定属性,例如在类中定义的变量和方法,不能由 for..in 语句来枚举。若要获得固定属性列表,请使用 flash.utils 包中的 describeType() 函数。下面的示例使用 for..in 遍历对象的属性:
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}
for (var prop in myObject)
{
    trace(
"myObject."+prop+" = "+myObject[prop]); 
}
 
for each..in 语句遍历集合的项目,并对每个项目执行 statementfor each..in 语句作为 E4X 语言扩展的一部分引入,不仅可以用于 XML 对象,而且可以用于对象和数组。for each..in 语句仅遍历对象的动态属性,而不是固定属性。固定属性是指定义为类定义的一部分的属性。若要使用具有用户自定义类的实例的 for each..in 语句,则必须声明具有 dynamic 属性的类。 与 for..in 语句不同,for each..in 语句将遍历对象属性的值,而不是属性的名称。
下例使用 for each..in 遍历对象的属性具有的值:
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}
for each (var item in myObject) 

    trace(item); 
}
posted @ 2008-04-28 11:14  !星期八  阅读(6485)  评论(0编辑  收藏  举报