Beim Laden der Seite erstelle ich zwei Javascript-Objekte, objDemo1
und objDemo1Backup
, wobei letzteres einfach eine exakte Kopie des ersten ist.Ersetze ein Javascript-Objekt durch ein anderes Objekt
z.B.
objDemo1 {
sub_1 = { something: 123, somethingElse: 321 },
sub_2 = { something: 456, somethingElse: 654 }
}
kann ich die Werte in sub_
auch ändern, wie hinzufügen/löschen neue sub_
ist aber das einzige Objekt, das ich bearbeite bin ist objDemo1
. das heißt ich nie objDemo1Backup
ändern habe ich eine Reset-Taste, dass wann objDemo1
wieder auf geklickt zurückgesetzt, was es war, wenn die Seite ursprünglich geladen (das heißt objDemo1 = objDemo1Backup
). Dies ist, wo ich das Problem habe ..
Wie stelle ich objDemo1
auf objDemo1Backup
?
Ich habe versucht:
objDemo1 = objDemo1Backup;
und
objDemo1 = null;
var objDemo1 = objDemo1Backup;
... sowie ähnliche Variationen, aber nichts scheint zu funktionieren. Irgendwelche Ideen?
- Hinweis: ich, dass an der Stelle der Rückstellung bestätigen kann,
objDemo1Backup
ist genau das gleiche, wie es war, als ich es erstellt undobjDemo1
hat sich geändert. - Mein Code ist definitiv die "Reset" -Funktionalität, wo ich die
objDemo1 = objDemo1Backup
versucht habe ... Ich kann einfach nicht herausfinden, die Syntax, um das Objekt zu ersetzen.
Ich gehe davon aus, dass, da sowohl "objDemo1" als auch "objDemo1Backup" auf das gleiche Objekt zeigen, beide geändert werden, wenn Sie einen ändern. Dies scheint nicht intuitiv, aber es ist die Art, wie JavaScript funktioniert. Google ** "Javascript Clone Object" ** für weitere Details. – Shmiddty
Sie spielen mit Objektreferenz, nicht klonen. Sie sollten Ihr Objekt klonen, anstatt es zuzuweisen, indem Sie = – LittleSweetSeas