as3中for in 和 for each in的区别

与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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值