JavaScript liefert keine direkten Methoden der Objektklone. Wenn das Objekt B im folgenden Code geändert wird, wird das Objekt A daher geändert.
A = {K1: 1, K2: 2, K3: 3};
B = a;
B.K2 = 4;
Wenn Sie nur B ändern und eine Konstante behalten möchten, müssen Sie Objekt a kopieren.
Verwenden Sie JQuery, um Objekte zu kopieren
Wenn JQuery verwendet werden kann, kann die eigene Erweiterungsmethode von JQuery zum Implementieren von Objektkopien verwendet werden.
A = {K1: 1, K2: 2, K3: 3};
B = {};
$ .extend (b, a);
Passen Sie die Clone () -Methode an, um das Kopieren von Objekten zu implementieren
Die folgende Methode ist die Grundidee des Objektkopierens.
Object.Prototype.clone = function () {var copy = (dieses Instanz von Array)? []: {}; für (attr in this) {if (! obj.hasownProperty (attr)) weiter; kopieren [attr] = (typeof this [i] == "Objekt")? obj [attr] .clone (): obj [attr]; } return copy;}; a = {k1: 1, k2: 2, k3: 3}; b = a.clone ();Die folgenden Beispiele sind umfassender und für die tiefe Kopie der meisten Objekte geeignet.
Funktionsklon (obj) {// Behandeln Sie die 3 einfachen Typen und null oder nicht definiert, wenn (null == obj || "Objekt"! // Datum des Handels if (obj instanceof Datum) {var copy = new Date (); Copy.Settime (obj.getTime ()); Rückgabekopie; } // Array if (obj InstanceOf Array) {var copy = []; für (var i = 0, var len = obj.length; i <len; ++ i) {copy [i] = clone (obj [i]); } Rückgabekopie; } // Objekt if (obj InstanceOF -Objekt) {var copy = {}; für (var attr in obj) {if (obj.hasownProperty (attr)) kopieren [attr] = klone (obj [attr]); } Rückgabekopie; } Neuen Fehler werfen ("" OBJ nicht mehr kopieren! Sein Typ wird nicht unterstützt. ");}Der obige Artikel ausführlich des Objektkopierens (Objektklon) in JavaScript ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, es kann Ihnen eine Referenz geben und ich hoffe, Sie können Wulin.com mehr unterstützen.