Heim >Backend-Entwicklung >PHP-Tutorial >ECMAScript-Primitiv- und Anführungszeichenwerte – JavaScript ING

ECMAScript-Primitiv- und Anführungszeichenwerte – JavaScript ING

不言
不言Original
2018-03-30 12:44:351901Durchsuche

Dieser Artikel teilt Ihnen hauptsächlich einige Kenntnisse über ECMAScript-Originalwerte und Referenzwerte mit. Freunde in Not können sich darauf beziehen

Die Konzepte der Originalwerte und Referenzwerte

In ECMAScript können Variablen zwei Arten von Werten haben, nämlich Originalwert und Referenzwert.

1.1 Originalwert

(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.2 Referenzwert

(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.

2. Stack und Heap

2.1 Primitive Werte werden im Stack gespeichert

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

Wenn ein Wert vom

Referenztyp

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

ECMAScript-Primitiv- und Anführungszeichenwerte – JavaScript ING3. Der Unterschied zwischen Originalwert und Referenzwert

3.1 Zuordnungsmethode

3.2 Ob der Wert variabel ist

3.3 Verschiedene Vergleichsmethoden

4. Zuweisungsmethode und ob der Wert variabel ist

4.1 Der ursprüngliche Wert basiert auf

Wert durch Kopieren von

zuweisen, und der Wert ist

unveränderlich . 4.2 Der Referenzwert wird in der Kopie

-Methode der Referenz zugewiesen und der Wert ist

variabel. 4.3 Beispiel

ECMAScript-Primitiv- und Anführungszeichenwerte – JavaScript ING4.4 Beschreibung

(1) Ursprüngliche Wertzuweisung → Tatsächlich ist der Wert

Kopieren

und weisen Sie ihn einer neuen Variablen zu. Die Änderung eines Werts hat keine Auswirkungen auf die anderen Werte.

(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 ErweiterungECMAScript-Primitiv- und Anführungszeichenwerte – JavaScript ING

5 🎜>5.1 Der Vergleich von Originalwerten ist der Vergleich von ECMAScript-Primitiv- und Anführungszeichenwerte – JavaScript INGWerten

5.2 Der Vergleich von Referenzwerten ist der Vergleich von

Referenzen

5.3 Beispiel

5.4 Beschreibung

(1) Die Originalwerte a und b haben unterschiedliche Daten Typen, aber die Werte können auch verglichen werden. (Vor dem Wertevergleich wird automatisch eine ECMAScript-Primitiv- und Anführungszeichenwerte – JavaScript INGimplizite Konvertierung des Datentyps durchgeführt)

== → Nur Werte vergleichen

    === → Vergleicht nicht nur Werte, sondern auch Datentypen
  • (2) Die Referenzwerte obj1 und obj2 beziehen sich jeweils auf zwei verschiedene
  • s, die in gespeichert sind das Heap-Speicherobjekt

    , daher sind die Werte (Adressreferenzen) von obj1 und obj2 unterschiedlich.

  • Mehr lesen

1. Das Konzept von Originalwert und Referenzwert

In ECMAScript können Variablen zwei Arten von Werten haben, nämlich Originalwert und Referenzwert.

1.1 Primitivwert


(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.2 Referenzwert

(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.

2. Stack und Heap

2.1 Primitive Werte werden im Stack gespeichert

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

Wenn ein Wert vom

Referenztyp

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

ECMAScript-Primitiv- und Anführungszeichenwerte – JavaScript ING3. Der Unterschied zwischen Originalwert und Referenzwert

3.1 Zuordnungsmethode

3.2 Ob der Wert variabel ist

3.3 Verschiedene Vergleichsmethoden

4. Zuweisungsmethode und ob der Wert variabel ist

4.1 Der ursprüngliche Wert basiert auf

Wert durch Kopieren von

zuweisen, und der Wert ist

unveränderlich . 4.2 Der Referenzwert wird in der Kopie

-Methode der Referenz zugewiesen und der Wert ist

variabel. 4.3 Beispiel

ECMAScript-Primitiv- und Anführungszeichenwerte – JavaScript ING4.4 Beschreibung

(1) Ursprüngliche Wertzuweisung → Tatsächlich ist der Wert

Kopieren Sie

und weisen Sie ihn einer neuen Variablen zu. Die Änderung eines Werts hat keine Auswirkungen auf die anderen Werte.

(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 ErweiterungECMAScript-Primitiv- und Anführungszeichenwerte – JavaScript ING

5 🎜>5.1 Der Vergleich von Originalwerten ist der Vergleich von ECMAScript-Primitiv- und Anführungszeichenwerte – JavaScript INGWerten

5.2 Der Vergleich von Referenzwerten ist der Vergleich von

Referenzen

5.3 Beispiel

5.4 Beschreibung

(1) Die Originalwerte a und b haben unterschiedliche Daten Typen, aber die Werte können auch verglichen werden. (Vor dem Wertevergleich wird automatisch eine ECMAScript-Primitiv- und Anführungszeichenwerte – JavaScript INGimplizite Konvertierung des Datentyps durchgeführt)

== → Nur Werte vergleichen

    === → Vergleicht nicht nur Werte, sondern auch Datentypen
  • (2) Die Referenzwerte obj1 und obj2 beziehen sich jeweils auf zwei verschiedene
  • s, die in gespeichert sind das Heap-Speicherobjekt

    , daher sind die Werte (Adressreferenzen) von obj1 und obj2 unterschiedlich.

  • Verwandte Empfehlungen:

Detaillierte Erläuterung der destrukturierenden Zuweisung von ECMAScript6-Variablen

Der Unterschied zwischen JavaScript und ECMAScript

Detaillierte Erläuterung von Beispielen für Klassenobjekte für den Einstieg in ECMAScript6


Das 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!

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