прекратить ссылаться на объект как 3 - PullRequest
1 голос
/ 26 мая 2009

Теперь у меня есть объект и временный объект tempObj = obj

и изменять вещи в tempObj, эти изменения влияют на obj. Есть ли способ, которым я могу помешать этому? С уважением Mark

Ответы [ 2 ]

2 голосов
/ 26 мая 2009

Это стандартное поведение во многих языках. Когда вы делаете tempObj = obj, вы НЕ создаете дублирующийся объект. Вы создаете другую ссылку на тот же объект.

Я не думаю, что вы можете изменить это поведение, и, конечно, я не думаю, что вы должны:)

Вам нужно создать еще один объект, дубликат исходного объекта. Вы можете реализовать функцию для этого. Может быть, это может помочь http://blog.comtaste.com/2007/10/improving_object_copy.html

Удачи!

1 голос
/ 27 мая 2009

То, что вы делаете, делает ссылку на исходный объект, а не на копию оригинала. Вы должны создать глубокую копию вашего объекта. Кажется, кто-то уже написал шаги для этого ...

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

Надеюсь, это поможет

...