首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AS3 - for (...在...)vs每个(...在...)

AS3 - for (...在...)vs每个(...在...)
EN

Stack Overflow用户
提问于 2011-08-21 18:03:46
回答 2查看 39.8K关注 0票数 28

下面的代码做了完全相同的事情。for eachfor (... in ...)有什么区别吗?

代码语言:javascript
复制
var bar:Array = new Array(1,2,3);    

for (var foo in bar){
    trace(foo);
}

for each (var foo2 in bar){
    trace(foo2);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-21 18:44:40

不,他们做的不是完全一样的事情。

您的for..in循环的输出为

代码语言:javascript
复制
0
1
2

而for each..in循环的输出是

代码语言:javascript
复制
1
2
3

for..in循环遍历数组的键/索引或对象的属性名。for each..in循环遍历。您会得到上面的结果,因为您的bar数组的结构如下:

代码语言:javascript
复制
bar[0] = 1;
bar[1] = 2;
bar[2] = 3;
票数 75
EN

Stack Overflow用户

发布于 2014-04-20 11:54:37

这里的一些混淆是您在数组中使用了数字。让我们切换到字符串,看看会发生什么。

代码语言:javascript
复制
var bar:Array = new Array("x", "y", "z");    

for (var foo in bar){
    trace(foo);
}

for each (var foo2 in bar){
    trace(foo2);
}

现在你的输出是:

代码语言:javascript
复制
0
1
2
x
y
z

如您所见,for-in循环遍历索引(或键),而for-each-in循环遍历values

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7137596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档