Heim  >  Artikel  >  Web-Frontend  >  Einführung in die grundlegenden Datentypen und Referenztypen von js sowie in Probleme beim tiefen und flachen Kopieren und bei der Speicherzuweisung

Einführung in die grundlegenden Datentypen und Referenztypen von js sowie in Probleme beim tiefen und flachen Kopieren und bei der Speicherzuweisung

巴扎黑
巴扎黑Original
2017-09-04 10:24:451282Durchsuche

Der folgende Editor bietet Ihnen eine kurze Diskussion über die grundlegenden Datentypen und Referenztypen von js, Probleme mit tiefen und flachen Kopien sowie Probleme mit der Speicherzuweisung. Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Editor, um einen Blick darauf zu werfen

js tiefes und flaches Kopierproblem

Flache Kopie bezieht sich im Allgemeinen auf das Kopieren von Grundtypen

Deep Copy bezieht sich im Allgemeinen auf die Kopie des Referenztyps und kopiert auch den Wert des Referenztyps

Beispiel

H5s sessionStorage kann nur Zeichenfolgen speichern Daher muss es gespeichert werden. Wenn Sie JSON verwenden, müssen Sie JSON.stringify() verwenden, um JSON in einen String zu konvertieren, und dann JSON.parse() verwenden, um JSON-Daten zu konvertieren

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

js-Speicherzuordnungsprobleme (Heap und Stack)

Grundtypen in js werden im Allgemeinen im 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 im Stapel und der Wert im Heap gespeichert wird

1. Stapelspeicher: speichert einfach Typen. 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 Am Ende der aktuellen Ausführungsumgebung wird der Referenztyp nicht zerstört, wenn die Ausführungsumgebung endet. Das Objekt wird vom Garbage-Collection-Mechanismus nur dann recycelt, wenn alle darauf verweisenden Variablen nicht mehr vorhanden sind.

js-Grunddatentypen und Referenztypen

Grundlegende Datentypen umfassen eine Zahl, eine boolesche Zeichenfolge, ein undefiniertes Nullsymbol

Referenzdatentyp: Array-OBJ-Funktion

Das obige ist der detaillierte Inhalt vonEinführung in die grundlegenden Datentypen und Referenztypen von js sowie in Probleme beim tiefen und flachen Kopieren und bei der Speicherzuweisung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen 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