標籤雲

搜尋此網誌

2009/05/06

for .. in 跟 for each.. in 迴圈

本文技術等級: 低

這兩個迴圈雖然會用到, 但每次要用的時候都給它小忘記
還是在這邊做個筆記好了

for .. in 迴圈
說明: 在我之前寫過的 flashvars 文章中就有用過了, 此迴圈會取出物件的所有屬性
例:(把 flashvars 的 code 拿來貼...)
var flashvars:Object = stage.loaderInfo.parameters;
var vars:Object = [];
var k:String;
for(k in flashvars){
vars.push({key:k, value:flashvars[k]});
}

for each .. in 迴圈
說明:此迴圈會取出物件的所有屬性值, 由於知道了屬性名稱後當然可以取出其值, 所以 for each .. in 跟 for .. in 事實上是很相似的, 不過特點在於它可以用 E4X 來操作 XML 檔案, 這一點就很棒, 引述官方的說法於下: "for each..in 陳述式是新的 E4X 語言擴充功能,不只可針對 XML 物件使用,也可針對其它物件與陣列使用..."
例:
for each(var element:XML in myXML.elements()) {
//將 XMLList 物件 myXML 裡的每一個 element 取出
......
}
也可以將上例的 XMLList 物件換成取出 XML 物件內的資料, 只是在 in 後面接的也要改成 XML的第一個子節點

這樣應該清楚了
要是再忘記就在上來偷看一下吧^^

沒有留言: