Dieser Artikel teilt Ihnen hauptsächlich einige Kenntnisse über ECMAScript-Originalwerte und Referenzwerte mit. Freunde in Not können sich darauf beziehen
In ECMAScript können Variablen zwei Arten von Werten haben, nämlich Originalwert und Referenzwert.
(1) Der Originalwert bezieht sich auf den Wert des Originaltyps, auch Basistyp genannt, wie z. B. Zahl, Stirng , Boolean, Null, Unterdefiniert.
(2) Einfache Datensegmente werden im Stapel gespeichert, das heißt, ihre Werte werden direkt an dem Ort gespeichert, auf den die Variable zugreift.
(3) Hinweis
In vielen Sprachen werden Zeichenfolgen als Referenztypen und nicht als primitive Typen behandelt, da die Länge der Zeichenfolge variabel ist. ECMAScript bricht diese Tradition.
(1) Der Referenzwert bezieht sich auf den Wert des Referenztyps , wie z. B. Objekt, Funktion, Array, Datum, RegExp.
(2) Im Heap gespeicherte Objekte, d. h. der in der Variablen gespeicherte Wert ist ein Zeiger (Punkt), der auf den Speicher zeigt Der Speicherort des Objekts.
Beim Zuweisen eines Werts zu einer Variablen muss der ECMAScript-Interpreter feststellen, ob der Wert vorhanden ist ein primitiver Typ oder ein Referenztyp. Dazu versucht der Interpreter festzustellen, ob der Wert einer der primitiven Typen von ECMAScript ist: Undefiniert, Null, Boolean, Zahl und String. Da diese primitiven Typen einen festen Platz belegen, können sie in einem kleineren Speicherbereich gespeichert werden – dem Stack . Dieser Speicher erleichtert das schnelle Nachschlagen des Werts der Variablen. 2.2 Referenzwerte werden im Heap gespeichert
ist, wird sein Speicherplatz vom Heap. Da sich die -Größe des Referenzwerts ändert , kann er nicht auf dem Stapel platziert werden, da sonst die Geschwindigkeit der Variablensuche verringert wird. Stattdessen ist der im Stapelbereich der Variablen platzierte Wert die Adresse, an der das Objekt im Heap gespeichert ist. Die Größe der Adresse ist fest, sodass das Speichern auf dem Stapel keine negativen Auswirkungen auf die Variablenleistung hat. 2.3 Abbildung
3. Der Unterschied zwischen Originalwert und Referenzwert
3.1 Zuordnungsmethode3.2 Ob der Wert variabel ist3.3 Verschiedene Vergleichsmethoden4. Zuweisungsmethode und ob der Wert variabel ist4.1 Der ursprüngliche Wert basiert auf4.4 Beschreibung
(1) Ursprüngliche Wertzuweisung → Tatsächlich ist der Wert(2) Referenzwertzuweisung → Wenn ein Referenztyp, z. B. ein Objekt, = verwendet, um es einer anderen Variablen zuzuweisen, wird tatsächlich die Adressreferenz seines Objekts zugewiesen Auf die neuen Variablen verweisen beide Variablen auf die gleiche
-Adressreferenz und haben dieselbe Adresse. Wenn Sie also eine der Variablen (das Objekt, auf das die Adressreferenz verweist) ändern, ändert sich auch die andere Variable (die Adressreferenz zeigt auf dasselbe Objekt).
4.5 Erweiterung
5 🎜>5.1 Der Vergleich von Originalwerten ist der Vergleich von Werten
(1) Die Originalwerte a und b haben unterschiedliche Daten Typen, aber die Werte können auch verglichen werden. (Vor dem Wertevergleich wird automatisch eine implizite Konvertierung des Datentyps durchgeführt)
== → Nur Werte vergleichen
, daher sind die Werte (Adressreferenzen) von obj1 und obj2 unterschiedlich.
In ECMAScript können Variablen zwei Arten von Werten haben, nämlich Originalwert und Referenzwert.
(1) Der Primitivwert bezieht sich auf den Wert des Originaltyps, auch Basistyp genannt , wie z. B. Number, Stirng, Boolean, Null, Underfined.
(2) Einfache Datensegmente werden im Stapel gespeichert, das heißt, ihre Werte werden direkt an dem Ort gespeichert, auf den die Variable zugreift.
(3) Hinweis
In vielen Sprachen werden Zeichenfolgen als Referenztypen und nicht als primitive Typen behandelt, da die Länge der Zeichenfolge variabel ist. ECMAScript bricht diese Tradition.
(1) Der Referenzwert bezieht sich auf den Wert des Referenztyps , wie z. B. Objekt, Funktion, Array, Datum, RegExp.
(2) Im Heap gespeicherte Objekte, d. h. der in der Variablen gespeicherte Wert ist ein Zeiger (Punkt), der auf den Speicher zeigt Der Speicherort des Objekts.
Beim Zuweisen eines Werts zu einer Variablen muss der ECMAScript-Interpreter feststellen, ob der Wert vorhanden ist ein primitiver Typ oder ein Referenztyp. Dazu versucht der Interpreter festzustellen, ob der Wert einer der primitiven Typen von ECMAScript ist: Undefiniert, Null, Boolean, Zahl und String. Da diese primitiven Typen einen festen Platz belegen, können sie in einem kleineren Speicherbereich gespeichert werden – dem Stack . Dieser Speicher erleichtert das schnelle Nachschlagen des Werts der Variablen. 2.2 Referenzwerte werden im Heap gespeichert
ist, wird sein Speicherplatz vom Heap. Da sich die -Größe des Referenzwerts ändert , kann er nicht auf dem Stapel platziert werden, da sonst die Geschwindigkeit der Variablensuche verringert wird. Stattdessen ist der im Stapelbereich der Variablen platzierte Wert die Adresse, an der das Objekt im Heap gespeichert ist. Die Größe der Adresse ist fest, sodass das Speichern auf dem Stapel keine negativen Auswirkungen auf die Variablenleistung hat. 2.3 Abbildung
3. Der Unterschied zwischen Originalwert und Referenzwert
3.1 Zuordnungsmethode3.2 Ob der Wert variabel ist3.3 Verschiedene Vergleichsmethoden4. Zuweisungsmethode und ob der Wert variabel ist4.1 Der ursprüngliche Wert basiert auf4.4 Beschreibung
(1) Ursprüngliche Wertzuweisung → Tatsächlich ist der Wert(2) Referenzwertzuweisung → Wenn ein Referenztyp, z. B. ein Objekt, = verwendet, um es einer anderen Variablen zuzuweisen, wird tatsächlich die Adressreferenz seines Objekts zugewiesen Auf die neue Variable verweisen beide Variablen auf die gleiche
-Adressreferenz und haben dieselbe Adresse. Wenn Sie also eine der Variablen (das Objekt, auf das die Adressreferenz verweist) ändern, ändert sich auch die andere Variable (die Adressreferenz zeigt auf dasselbe Objekt).
4.5 Erweiterung
5 🎜>5.1 Der Vergleich von Originalwerten ist der Vergleich von Werten
(1) Die Originalwerte a und b haben unterschiedliche Daten Typen, aber die Werte können auch verglichen werden. (Vor dem Wertevergleich wird automatisch eine implizite Konvertierung des Datentyps durchgeführt)
== → Nur Werte vergleichen
, daher sind die Werte (Adressreferenzen) von obj1 und obj2 unterschiedlich.
Detaillierte Erläuterung der destrukturierenden Zuweisung von ECMAScript6-Variablen
Der Unterschied zwischen JavaScript und ECMAScriptDetaillierte Erläuterung von Beispielen für Klassenobjekte für den Einstieg in ECMAScript6Das obige ist der detaillierte Inhalt vonECMAScript-Primitiv- und Anführungszeichenwerte – JavaScript ING. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!