Dies liegt daran, dass myObjQuery und myObj das gleiche Objekt sind. Wenn Sie myObjQuery = myObj
machen, erstellen Sie keine Kopie des Objekts selbst, sondern eine Kopie eines Verweises darauf. Sie manipulieren Objekte nie direkt in JavaScript, sondern immer durch eine Referenz.
EDIT: Klonen von Objekten in JavaScript ist nicht einfach. Die meisten Bibliotheken wie jQuery oder Ext haben eine Möglichkeit, dies zu tun. Um es manuell zu tun, funktioniert so etwas.
var clone = {};
for(var prop in myObj) {
if(myObj.hasOwnProperty(prop)) {
clone[prop] = myObj[prop];
}
}
Denken Sie daran, dass es sich um eine flache Kopie handelt. Um eine tiefe Kopie zu erstellen, müssen Sie erkennen, ob die Eigenschaften selbst Objekte sind, und sie rekursiv auch klonen. Am besten, eine Bibliothek zu verwenden, die all dies für Sie erledigt. Denken Sie auch daran, dass es viele Randfälle und seltsame Dinge wie die Konstruktoreigenschaft des Objekts nicht gibt. JavaScript ist hier wirklich unordentlich.
dieses Themas Versuchen: [Javascript geklonte Objekt verliert seinen Prototyp Funktionen] (http://stackoverflow.com/questions/10151216/javascript-cloned-object-looses-its-prototype-functions) – RobG
Ist die eigentliche Frage * wie ein JavaScript-Objekt zu klonen? * – alex