您当前的位置: 首页 >  Jave.Lin

AS3 for 与 for each的区别

Jave.Lin 发布时间:2012-06-19 10:50:00 ,浏览量:5

老是,忘记for 与 for each的区别:

与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 =   
2 Jane  
3 Susan  
4 John  
5 ;  
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 */  


关注
打赏
查看更多评论

Jave.Lin

暂无认证

  • 5浏览

    0关注

    546博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录