Detaillierte Erklärung des Kopierobjekts von jQuery

Detaillierte Erklärung des Kopierobjekts von jQuery

<!DOCTYPE html>
<html lang="de">
<Kopf>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1.0">
    <meta http-equiv="X-UA-kompatibel" content="ie=edge">
    <title>Dokument</title>
    <script src="jquery.min.js"></script>
    <Skript>
        $(Funktion() {
            //1, normale Kopie, oberflächliche Kopie standardmäßig var targetObj = {};
            var obj = {
                ID: 1,
                Name: "Andy"
            };
            $.extend(targetObj, obj); // Kopiersyntax, kopiere die Attribute und Attributwerte in obj in ein leeres Objekt von targetObj console.log(targetObj); // Das Ausgabeergebnis ist der Inhalt des obj-Objekts // 2. Wenn das kopierte Objekt Attribute und Attributwerte enthält var targett = {
                ID: 0,
                gshg: 55
            };
            var objrr = {
                ID: 1,
                Name: "Andy"
            };
            $.extend(zielt, objrr);
            console.log(targett); // Wenn die Eigenschaften im kopierten Objekt targett mit den Eigenschaften im kopierten Objekt objrr übereinstimmen, überschreiben die Eigenschaftswerte in objrr die Eigenschaftswerte in targett // Wenn sich die Eigenschaften im kopierten Objekt targett von den Eigenschaften im kopierten Objekt objrr unterscheiden, werden sie nicht überschrieben und die Eigenschaften im kopierten Objekt objrr kommen erst später // 3. Flache Kopie, wenn das kopierte Objekt Objekte enthält var taytuj = {
                ID: 0,
                Nachricht: {
                    Geschlecht: 'männlich'
                }
            };
            var return = {
                ID: 1,
                Name: "Andy",
                Nachricht: {
                    Alter: 18
                }
            };
            $.extend(true, true, rete);
            Konsole.log(taytuj);
            // Ausführungsprozess:
            //1. Beide Objekte befinden sich im Speicherstapel, und das Objekt msg: {age: 18} im Rete-Objekt wird im Speicherheap abgelegt. In der flachen Kopie überschreibt das Objekt msg: {age: 18} im Rete-Objekt das Objekt msg: {sex: 'male'} des Taytu-Objekts, und der Attributwert wird zu einem Hexadezimalwert, der auf das Objekt msg: {age: 18} im Speicherheap zeigt. Zu diesem Zeitpunkt haben die Nachrichten der beiden Objekte im Stapelbereich dieselbe Hexadezimaladresse, die auf das Objekt msg: {age: 18} im Speicherheap zeigt. Wenn also die flache Kopie abgeschlossen ist, ändert sich, solange sich einer der Nachrichtenattributwerte in den beiden Objekten ändert, auch der Attributwert der anderen Nachricht. //Flache Kopie:
            //1. Wenn die Attributnamen gleich sind, überschreibt das kopierte Objekt das kopierte Objekt und die Reihenfolge ist immer die, die zuletzt kam. //2. Wenn die Attributnamen unterschiedlich sind, werden sie zusammengeführt. //Deep Copy:
            //1. Wenn die Attributnamen gleich sind, überschreiben die Attribute und Attributwerte des kopierten Objekts die Attribute und Attributwerte des kopierten Objekts und die Sortierung erfolgt immer vom späteren zum höheren. //2. Wenn die Attributnamen unterschiedlich sind, werden sie zusammengeführt. //3. Wenn das kopierte Objekt und das Objekt innerhalb des kopierten Objekts denselben Objektnamen, aber unterschiedliche Attributnamen haben, werden sie zusammengeführt und nicht überschrieben.
        })
    </Skript>
</Kopf>
<Text>
</body>
</html>

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können!

Das könnte Sie auch interessieren:
  • jQuery verwendet $.extend(true,object1, object2); zur Implementierung einer Deep-Copy-Objektmethodenanalyse
  • Einfaches Beispiel für eine tiefe Kopie eines JSON-Objekts mit jQuery
  • Kopieren und Aufteilen des Werts von Tabellendaten in jQuery
  • Flache und tiefe Kopie von $.extend von jQuery

<<:  Webdatenspeicherung: Cookie, UserData, SessionStorage, WebSqlDatabase

>>:  MySQL-Startfehler beheben: FEHLER 2003 (HY000): Keine Verbindung zum MySQL-Server auf „localhost“ möglich (10061)

Artikel empfehlen

Detaillierte Erläuterung des einzeiligen Funktionscodes des Datumstyps in MySQL

Einzeilige Funktionen vom Datumstyp in MySQL: CUR...

Vollständiger Schrittbericht zur Vue-Kapselung allgemeiner Tabellenkomponenten

Inhaltsverzeichnis Vorwort Warum müssen wir die T...

Eine kurze Analyse von Linux resolv.conf

1. Einleitung resolv.conf ist die Konfigurationsd...

Lösung für den Fehler beim Aufruf von Yum im Docker-Container

Beim Ausführen von yum im Dockerfile oder im Cont...

WeChat-Applet-Picker - Mehrspalten-Selektor (Modus = MultiSelector)

Inhaltsverzeichnis 1. Wirkungsdiagramm (mehrere S...

Allgemeine Front-End-JavaScript-Methodenkapselung

Inhaltsverzeichnis 1. Geben Sie einen Wert ein un...

Detaillierte Analyse der MySQL-Abfrageabfangung

Inhaltsverzeichnis 1. Abfrageoptimierung 1. MySQL...

Verwendung der Linux Dynamic Link Library

Im Vergleich zu gewöhnlichen Programmen haben dyn...

Verwenden Sie js in html, um die lokale Systemzeit abzurufen

Code kopieren Der Code lautet wie folgt: <div ...