1

Actionscript 提供循环for...in以通过键引用被迭代的元素。

但是for...each...in循环会产生元素的副本,而不是对正在迭代的集合中的原始元素的引用。有没有办法获得它的参考,还是我必须求助于for...in

考虑假设

for each( var &iter:* in collection )

我知道在 actionscript 中没有这样的取消引用运算符,但是您可以通过任何其他方式在此处获得参考吗?

PSAdobe 的文档指出:

variableIterant:* — 用作迭代的变量的名称,引用集合中的项目。

尽管它是按价值复制而不是参考。

4

1 回答 1

5

但是 for...each...in 循环会产生元素的副本,而不是对正在迭代的集合中的原始元素的引用。

呃......不,它没有。否则这个测试会产生0 0

var a:Shape = new Shape();
var b:Shape = new Shape();
var list:Array = [a,b];

for each(var i:Shape in list) i.x = 10;

trace(a.x, b.x); // 10 10
于 2013-07-07T23:33:43.870 回答