Lors du chargement de la page, je crée deux objets Javascript, objDemo1
et objDemo1Backup
où ce dernier est simplement une copie exacte du premier.Remplacer un objet javascript par un autre objet
par exemple.
objDemo1 {
sub_1 = { something: 123, somethingElse: 321 },
sub_2 = { something: 456, somethingElse: 654 }
}
Je peux modifier les valeurs sub_
ainsi que d'ajouter/supprimer de nouveaux sub_
« s, mais le seul objet que je suis l'édition est objDemo1
. dire que je ne change objDemo1Backup
J'ai un bouton de réinitialisation lorsque vous cliquez dessus réinitialisera objDemo1
à ce qu'elle était lorsque la page chargée à l'origine (à savoir objDemo1 = objDemo1Backup
). C'est là que j'ai le problème ..
Comment régler objDemo1
à objDemo1Backup
?
J'ai essayé:
objDemo1 = objDemo1Backup;
et
objDemo1 = null;
var objDemo1 = objDemo1Backup;
... ainsi que des variations similaires, mais rien ne semble fonctionner. Des idées?
- Note: Je peux confirmer que le point de remise à zéro,
objDemo1Backup
est exactement le même que celui qu'il était quand je l'ai créé etobjDemo1
a changé. - Mon code frappe définitivement la fonctionnalité "reset", où j'ai essayé le
objDemo1 = objDemo1Backup
... Je n'arrive pas à trouver la syntaxe pour remplacer l'objet.
Je vais supposer que ce qui se passe est que puisque objDemo1 et objDemo1Backup pointent sur le même objet, lorsque vous en changez un, les deux sont modifiés. Cela peut ne pas sembler intuitif, mais c'est le fonctionnement de javascript. Google ** "objet javascript clone" ** pour plus de détails. – Shmiddty
Vous jouez avec une référence d'objet, pas en la clonant. Vous devriez cloner votre objet au lieu de l'assigner en utilisant = – LittleSweetSeas