Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Diskussion über objektorientiertes Deep Copy und Shallow Copy in JavaScript

Eine kurze Diskussion über objektorientiertes Deep Copy und Shallow Copy in JavaScript

高洛峰
高洛峰Original
2017-01-03 16:01:00911Durchsuche

Bevor Sie Deep Copy und Shallow Copy verstehen, müssen Sie einige grundlegende Konzepte verstehen. Die im Speicher gespeicherten Variablentypen sind in Werttypen und Referenztypen unterteilt.

1. Die Speichereigenschaften der Werttypzuweisung: Kopieren Sie alle Daten in der Variablen und speichern Sie sie in der neuen Variablen.

Zum Beispiel: var num = 123; var num1=num;

bedeutet, dass die in der Variablen gespeicherte Zahl 123 ist. Kopieren Sie dann die Daten, dh kopieren Sie 123. Dann gibt es zwei Arrays im Speicher, die die kopierten Daten num2 zuweisen, was dadurch gekennzeichnet ist, dass zwei Kopien der Daten im Speicher vorhanden sind. Dies kann als flache Kopie verstanden werden.

2. Zuweisung von Referenztypen.

var o={name:'Zhang San'};

var obj=o;

Die Aufgabe besteht darin, die in der Variablen o gespeicherten Daten und dann diese Daten zu kopieren ist dem Objekt zugeordnet. Es gibt 1 Datenpunkt im Speicher, und das mit obj geänderte Namensattribut wirkt sich auf den Namen in o aus.

Wenn beim Kopieren alle Referenzstrukturen der Daten kopiert werden, dann werden die Daten unabhängig tief in den Speicher kopiert.

Wenn beim Kopieren nur die Attribute des aktuellen Objekts kopiert werden , und das Attribut ist ein Referenztyp, der nicht berücksichtigt wird.

Kopieren: Bezieht sich auf das Kopieren der Objektdaten.

muss besprochen werden Erörterung von Deep Copy und Shallow Copy. Stellen Sie sicher, dass die Eigenschaften des Objekts auch Referenztypen sind.

Der obige Artikel, in dem es um objektorientiertes Deep Copy und Shallow Copy in JavaScript geht, ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe auch, dass jeder das PHP-Chinesisch unterstützt Webseite.

Weitere Artikel zu objektorientiertem Deep Copy und Shallow Copy in JavaScript finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn