Ein kurzer Vortrag über das Klonen von JavaScript

Ein kurzer Vortrag über das Klonen von JavaScript

1. Oberflächliches Klonen

Beim flachen Klonen können keine Arrays und Objekte kopiert werden

var obj = {
    Name: "abs",
    Alter: '18',
    Geschlecht: „männlich“
}
var obj1 = {}
Funktion Klon(Ursprung,Ziel) {
    Ziel = Ziel || {}; //Verhindert, dass Benutzer das Ziel betreten
    für(var k in Origin){
        Ziel[k] = Ursprung[k];
    }
}
Klon(Objekt,Objekt1);

2. Tiefes Klonen

Bestimmen Sie zunächst, was es ist: ein primitiver Wert, ein Array oder ein Objekt, und behandeln Sie sie separat

  • Über Objekte iterieren
  • Der Originalwert wird direkt copy
  • Kein primitiver Wert. Beurteilen Sie, ob es sich um ein Array oder ein Objekt handelt.
  • Ist ein Array, um ein leeres Array zu erstellen
  • Es ist ein Objekt, das ein leeres Objekt erstellt
  • Nachdem es eingerichtet ist, iterieren Sie über den Inhalt des ursprünglichen Objekts oder Arrays
  • Rekursion
var obj = {
    Name: 'lin',
    Alter: '18',
    Geschlecht: männlich,
    Karte: [1,2,3,4],
    Gattin : {
        Name: "bcsds",
        Sohn: {
            Name: "aaa"
        },
        Alter: '23'
    }
}
var obj1 = {}
//Der Originalwert und der Rückgabewert des Objekt-Arrays typeof sind unterschiedlich function deepClone(origin,target) {
    Ziel = Ziel || {};
    für(var k in Ursprung) {
        wenn (origin.hasOwnProperty(k)) {
            wenn(Typvon(Herkunft[k]) == 'Objekt') {
                wenn(Object.prototype.toString.call(origin[k]) == '[Objekt-Array]') {
                    Ziel[k] = [];
                }anders {
                    Ziel[k] = {};
                }
                deepClone(Ursprung[k],Ziel[k]);
            }anders {
                Ziel[k] = Ursprung[k];
            }
        }
    }
}
deepClone(Objekt,Objekt1);
Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Prinzipien des tiefen und flachen Klonens von JavaScript-Arrays und Nicht-Array-Objekten
  • Detaillierte Beispiele für Shallow Cloning und Deep Cloning in JavaScript
  • Vergleich und Beispielanalyse von flachem und tiefem Klonen in JavaScript
  • Beispiel einer Deep-Cloning-Methode für JS-Objekte
  • Analyse von Beispielen für Deep Cloning von JS-Objekten
  • Analyse von JS-Erweiterungsklassen, geklonten Objekten und Instanzen gemischter Klassen
  • JS-Klon, Attribut, Array, Objekt, Funktionsinstanzanalyse
  • Detaillierte Erklärung und Beispiel für das JavaScript Deep Clone-Objekt
  • Einfache Implementierungsmethode zum Klonen von Javascript-Arrays
  • Einführung in gängige Methoden zum Klonen von Objekten und Arrays in js

<<:  Beispiel-Tutorial zur Verwendung der Summenfunktion in MySQL

>>:  Docker-Netzwerkmodus und Konfigurationsmethode

Artikel empfehlen

So verwenden Sie das MySQL-Limit und lösen das Problem großer Paging-Aufgaben

Vorwort Wenn wir in der täglichen Entwicklung MyS...

Wir treiben IE6 alleine in den Untergang

Tatsächlich fragen wir uns jeden Tag, wann IE6 wi...

Detaillierte Erklärung der Komponentenkommunikation in React

Inhaltsverzeichnis Übergeordnete Komponente kommu...

Vue Storage enthält eine Lösung für Boolesche Werte

Vue speichert Speicher mit Booleschen Werten Ich ...

Navicat für MySQL-Tutorial

Zuerst müssen Sie Navicat für MySQL herunterladen...

Tutorial zur Installation von Odoo14 aus dem Quellcode unter Ubuntu 18.04

Inhaltsverzeichnis Hintergrund dieser Serie Überb...

So überprüfen Sie, ob der Grafiktreiber erfolgreich in Ubuntu installiert wurde

Führen Sie den Befehl aus: glxinfo | grep renderi...

Websocket+Vuex implementiert eine Echtzeit-Chat-Software

Inhaltsverzeichnis Vorwort 1. Der Effekt ist wie ...

Detaillierte Erklärung zur korrekten Installation von OpenCV auf Ubuntu

Dieser Artikel beschreibt, wie man OpenCV mit C++...