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

5 Möglichkeiten zum Senden von E-Mails in der Linux-Befehlszeile (empfohlen)

Wenn Sie eine E-Mail in einem Shell-Skript erstel...

Javascript zum Erzielen eines Trommeleffekts

In diesem Artikel wird der spezifische Code von J...

Mehrere Methoden zum Ändern des MySQL-Root-Passworts (empfohlen)

Methode 1: Verwenden Sie den Befehl SET PASSWORD ...

Warum sollten Sie mit der add_header-Direktive von Nginx vorsichtig sein?

Vorwort Wie wir alle wissen, legt die Nginx-Konfi...

Detaillierte Erklärung zur Überwachung von MySQL-Anweisungen

Schnelles Lesen Warum müssen wir SQL-Anweisungen ...

Analyse des Remote-Debuggings und des Timeout-Betriebsprinzips von Webdiensten

Remote-Debugging von Webdiensten In .NET ist die ...

Detaillierte Erklärung des Linux-Texteditors Vim

Vim ist ein leistungsstarker Vollbild-Texteditor ...

Das WeChat-Applet verwendet die Videoplayer-Videokomponente

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung des Hintergrund-Positionsprozentsatzprinzips

Als ich heute jemandem beim Anpassen des Codes ha...

So ändern Sie die Zeichensatzkodierung in MySQL 5.5/5.6 unter Linux auf UTF8

1. Melden Sie sich bei MySQL an und verwenden Sie...

MySQL 5.7.18 Installations- und Konfigurations-Tutorial unter Windows

In diesem Artikel finden Sie das Installations- u...

Tutorial zur Installation und Konfiguration der Centos7-MySQL-Datenbank

1. Systemumgebung Die Systemversion nach dem Yum-...

Sechs Möglichkeiten zur Steigerung der Geschwindigkeit Ihrer Website

1. Ersetzen Sie die Adresse Ihrer .js-Bibliotheks...