<!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> ZusammenfassenDieser 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:
|
<<: Webdatenspeicherung: Cookie, UserData, SessionStorage, WebSqlDatabase
So führen Sie SVG-Symbole in Vue ein Methode 1 zu...
Win10 installiert die dekomprimierte Version von ...
In diesem Artikelbeispiel wird der Anwendungscode...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis JavaScript-Objekte 1. Definiti...
Kubernetes unterstützt drei Arten der Authentifiz...
Als grundlegendes Element einer Webseite sind Bil...
1 Starten Sie den Docker-Dienst Zuerst müssen Sie...
Inhaltsverzeichnis Merkmale Erhaltungsstrategie B...
Inhaltsverzeichnis 1. Prototyp-Modus Beispiel 1 B...
Sie müssen CSS gleichzeitig auf Div oder Span anwe...
Vereinfacht ausgedrückt geht es beim Erstellen ein...
1.MySQL UPDATE JOIN-Syntax In MySQL können Sie di...
Inhaltsverzeichnis CentOS RPM-Installation und Ko...
Die Grafikkarte meines Computers ist eine Nvidia-...