2013-07-07 32 views
1

Actionscript为中的...提供循环以通过密钥引用要迭代的元素。as3 - 你可以在for ... each ... in循环中获得对元素的引用吗?

但是for ... each ...在循环中产生元素的副本,而不是被迭代的集合中原始元素的引用。有没有办法得到它的参考,或者我不得不求助于...在

考虑假设

for each(var &iter:* in collection) 

我知道有ActionScript中没有这样的对其操作,但可以通过任何其他方式获得的参考吗?

PSAdobe's documentation指出:

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

虽然它是一个价值而不是参考的副本。

回答

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 
+0

哦,我测试了它错误然后。将再试一次。 – Petruza

相关问题