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