1

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

并更改 tempObj 中的内容,他们更改对 obj 有影响有没有办法阻止它这样做?问候马克

4

2 回答 2

2

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

我不认为你可以改变这种行为,当然我认为你不应该:)

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

祝你好运!

于 2009-05-26T15:28:15.497 回答
1

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

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

希望这可以帮助

于 2009-05-27T03:16:32.370 回答