列出對像屬性,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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章