停止对象引用为3

时间:2009-05-26 15:20:38

标签: actionscript-3 flex3 flash-cs4 flash-cs3 cs3

如果我这样做,我现在有一个对象和一个临时对象 tempObj = obj

并更改tempObj中的内容他们更改对obj有影响有没有办法可以阻止它这样做? 问候 标记

2 个答案:

答案 0 :(得分:2)

这是许多语言的标准行为。当你执行tempObj = obj时,你不是在创建一个重复的对象。您正在创建对同一对象的另一个引用。

我认为你不能改变这种行为,当然我认为你不应该这样做:)

您需要创建另一个对象,即原始对象的副本。您可以实现一个功能来实现。也许这可以帮助 http://blog.comtaste.com/2007/10/improving_object_copy.html

祝你好运!

答案 1 :(得分:1)

您正在做的是引用原始对象而不是原始副本。您应该创建对象的深层副本。似乎有人已经写了这样做的步骤......

http://www.as3dp.com/2008/09/23/actionscript-30-clone-a-prelude-to-the-prototype-design-pattern/

希望这有帮助