<!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
Socket-Optionsfunktion Funktion: Methoden zum Les...
Vue $set Array-Sammlungsobjektzuweisung In der be...
Der Code sieht folgendermaßen aus: <!DOCTYPE h...
Der <area>-Tag definiert einen Bereich in e...
Hintergrund Zu Beginn meines Japanisch-Lernens fi...
Als ich vor ein paar Tagen ein Programm schrieb, w...
In diesem Artikelbeispiel wird der spezifische Co...
Gestern habe ich jemandem bei der Installation ei...
1. HTML-Bild <img> 1. Das <img>-Tag u...
Ich habe es im MSI-Format installiert, hauptsächl...
Inhaltsverzeichnis 1. Anfrage erhalten: 2. Anfrag...
Inhaltsverzeichnis 1. Installation 2. Einführung ...
Problembeschreibung: Ich habe einen Mac gekauft u...
Würmer replizieren sich, wie der Name schon sagt,...
1. Verwenden Sie den folgenden Befehl, um das SSH...