列出对像属性,for(var i in obj)[转]
function listProperties(obj,
objName) { var result
= "" ; for ( var i
in obj)
{ result
+= objName + "." +
i + "=" +
obj[i] + "\n" ; } alert(result); }
|
/*库中有个MC*/ var mc:MC; var arr: Array =
new Array ; for ( var i: int = 0 ;
i< 10 ;
i++) { mc
= new MC
; mc.x
= 100 ; mc.y
= 100 ; addChild(mc); arr.push(mc); } for ( var a
in arr) { trace (a); removeChild(arr[a]); } arr
= []; trace (arr.length); |
var count: int =
container.numChildren; for ( var i: int =
0 ;
i < count; i++) { container.removeChildAt( 0 ); } |
/*for..in遍历对象的动态属性或数组中的元素, 并对每个属性或元素执行
statement。 对象属性不按任何特定的顺序保存, 因此属性看似以随机的顺序出现。 固定属性(如在类中定义的变量和方法) 不能由
for..in 语句来枚举。 要获得固定属性列表,请使用
flash.utils 包中的 describeType() 函数。 for
each..in 循环用于循环访问集合中的项目,它可以是 XML 或 XMLList 对象中的标 签、对象属性保存的值或数组元素。例如,如下面所摘录的代码所示,您可以使用
for each..in
循环来循环访问通用对象的属性,但是与 for..in 循环不同的是,for each..in 循环中的迭代变量包含属性所保存的值,而不包含属性的名称:*/ var myObj: Object =
{x: 20 ,y: 30 }; for ( var num0
in myObj) { trace (num0); trace (myObj[num0]); } for each ( var num
in myObj) { trace (num); } //
输出: //
20 //
30 //可以循环访问
XML 或 XMLList 对象,如下面的示例所示: var myXML:XML
= <users> <fname>Jane</fname> <fname>Susan</fname> <fname>John</fname> </users>; for ( var item0
in myXML.fname) { trace (item0); trace (myXML.fname[item0]); } for each ( var item
in myXML.fname) { trace (item); } /*
输出 Jane Susan John */ //还可以循环访问数组中的元素,如下面的示例所示: var myArray: Array =
[ "one" , "two" , "three" ]; for ( var item1
in myArray) { trace (item1); trace (myArray[item1]); } for each ( var item2
in myArray) { trace (item2); } //
输出: //
one //
two |