for..in for each..in 的区别:

1 var myObj:Object = {x:20, y:30};
2 for (var i:String in myObj) {
3     trace (i + "" + myObj[i]);
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[i]);
 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 

由此可以粗略的了解这两者的不同之处。


文章来源:http://computer.mblogger.cn/yang007/posts/55940.aspx
posted on 2006-07-20 01:09  FireYang  阅读(481)  评论(0)    收藏  举报