Actionscript 3 AS3-针对(…in…)和针对每个(…in…)
下面的代码执行完全相同的操作。每个的Actionscript 3 AS3-针对(…in…)和针对每个(…in…),actionscript-3,loops,Actionscript 3,Loops,下面的代码执行完全相同的操作。每个的与(…in…)的之间是否存在差异 不,他们做的事情完全不同 for..in循环的输出为 0 1 2 1 2 3 而for each..in循环的输出是 0 1 2 1 2 3 for..in循环遍历数组的键/索引或对象的属性名。for each..in循环遍历值。之所以得到上述结果,是因为bar数组的结构如下: bar[0] = 1; bar[1] = 2; bar[2] = 3; 这里的一些困惑是,您正在数组中使用数字。让我们切换到字符串,看看会发
与(…in…
)的之间是否存在差异
不,他们做的事情完全不同
for..in循环的输出为
0
1
2
1
2
3
而for each..in循环的输出是
0
1
2
1
2
3
for..in循环遍历数组的键/索引或对象的属性名。for each..in循环遍历值。之所以得到上述结果,是因为bar
数组的结构如下:
bar[0] = 1;
bar[1] = 2;
bar[2] = 3;
这里的一些困惑是,您正在数组中使用数字。让我们切换到字符串,看看会发生什么
var bar:Array = new Array("x", "y", "z");
for (var foo in bar){
trace(foo);
}
for each (var foo2 in bar){
trace(foo2);
}
现在您的输出是:
0
1
2
x
y
z
如您所见,for in在索引(或键)上循环,而for每个in在值上循环更像是“for(…in…)vs for each(…in…)