flex之for in和for each in

来源:互联网 发布:网络视频课 编辑:程序博客网 时间:2024/05/29 03:50
 for(var b in this)这个里的b是一个in后面这个对象所包含的属性(或成员,或变量),是一String,当然这里是程序里所涉及到的动态属性,而
for each(var b in this)这个里的b,你要知道b是什么?b是一个Object类型.

例如:
1 var myObj:Object = {x:20, y:30};
2 for (var i:String in myObj) {
3 trace (i + ": " + myObj);
4 }
5 // output:
6 // x: 20
7 // y: 30
由上代码可知道for..in是把数组的元素或对象的属性名依次取过来。


1 var myObj:Object = {x:20, y:30};
2 for each(var num in myObj) {
3 trace (num);
4 }
5 // output:
6 // 20
7 // 30
由上代码可知道for each..in是把对象的属性名对应的值依次取过来。

1 var myArray:Array = ["one", "two", "three"];
2 for (var i:String in myArray) {
3 trace (myArray);
4 }
5 /* output
6 one
7 two
8 three
9 */
10
如果用for each..in返回将是undefined。

对于XML文档:

1 var myXML:XML = <users>
2 <fname>Jane</fname>
3 <fname>Susan</fname>
4 <fname>John</fname>
5 </users>;
6 for (var item in myXML.fname) {
7 trace(item);
8 }
9 /* output
10 0
11 1
12 2
13 */
14
如果用for each..in返回的将是:
1 /* output
2 Jane
3 Susan
4 John
5 */
6