Pregunta

Tengo un objeto y un objeto temp ahora si lo hago tempObj = obj

y el cambio en la materia que tempObj cambios tienen un efecto sobre obj ¿hay alguna manera de que pueda detenerlo de hacer esto? Saludos Marcos

¿Fue útil?

Solución

Este es un comportamiento estándar en muchos idiomas. Cuando lo haga tempObj = obj no está creando un objeto duplicado. Va a crear otra referencia al mismo objeto.

No creo que se puede cambiar este comportamiento, y desde luego no creo que debiera:)

Lo que necesita es la creación de otro objeto, un duplicado del objeto original. Se puede implementar una función para hacer eso. Tal vez esto puede ayudar http://blog.comtaste.com/2007/10/improving_object_copy.html

Buena suerte!

Otros consejos

Lo que está haciendo es hacer una referencia al objeto original, no la copia del original. Debe crear una copia profunda de su objeto. Parece que alguien ya escribió los pasos para hacerlo ...

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

Espero que esto ayude

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top