Heim > Web-Frontend > js-Tutorial > Hauptteil

JS-Datentyp + Referenztyp Probleme mit tiefer und flacher Kopie und Speicherzuordnung

php中世界最好的语言
Freigeben: 2018-04-18 13:59:26
Original
1243 Leute haben es durchsucht

Dieses Mal werde ich Ihnen die Probleme des Datentyps+Referenztyps mit tiefem und flachem Kopieren und der Speicherzuweisung sowie die Vorsichtsmaßnahmen für die Verwendung von JS-Datentypen+Referenztyp mit tiefem und flachem Kopieren vorstellen und Speicherzuordnung Was sind das? Hier sind tatsächliche Fälle.

js tiefes und flaches Kopierproblem

Unter „Flache Kopie“ versteht man im Allgemeinen die grundlegende Art der Kopie

Deep Copy bezieht sich im Allgemeinen auf die Kopie des Referenztyps, und der Wert des Referenztyps wird ebenfalls kopiert

Beispiel

Der SessionSpeicher von h5 kann nur String speichern. Wenn Sie also JSON speichern möchten, müssen Sie JSON.Stringify() verwenden, um JSON in einen String umzuwandeln Verwenden Sie JSON.parse(), um es in JSON-Daten umzuwandeln

Nachteile: JSON.parse und JSON.stringify unterstützen nur IE9+ und höher

Um dieses Problem zu lösen, können Sie die Tiefenverhältnis-Kopiermethode

verwenden Probleme bei der Speicherzuweisung (Heap und Stack) in js

Grundtypen in js werden im Allgemeinen auf dem Stapel gespeichert. Diese Typen belegen jeweils eine feste Speichergröße und ihre Werte werden im Stapelspeicher gespeichert, auf den wir über den Wert zugreifen.

Referenztypen sind Daten variabler Größe, aber ihre Adressgröße ist fest, sodass die Adresse auf dem Stapel und der Wert auf dem Heap gespeichert wird

1. Stapelspeicher: Speichert Grundtypen. Heap-Speicher: Speichert Referenztypen (speichern Sie einen Basistypwert im Stapelspeicher, um die Adresse des Objekts im Heap-Speicher zu speichern, der zum Referenzieren dieses Objekts verwendet wird.)

2. Der Basistyp wird zerstört, wenn die aktuelle Ausführungsumgebung endet, aber der Referenztyp wird nicht zerstört, wenn die Ausführungsumgebung endet. Dieses Objekt wird vom Garbage-Collection-Mechanismus nur dann recycelt, wenn alle Variablen auf diese verweisen es existiert nicht.

js-Basisdatentypen und Referenztypen

Zu den grundlegenden Datentypen gehören Zahlen, boolesche Zeichenfolgen, undefinierte Nullsymbole

Referenzdatentyp: Array-Obj-Funktion

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:



Das obige ist der detaillierte Inhalt vonJS-Datentyp + Referenztyp Probleme mit tiefer und flacher Kopie und Speicherzuordnung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage