Heim > Web-Frontend > js-Tutorial > Hauptteil

So speichern Sie Originalwerte und Referenzwerte in JS

php中世界最好的语言
Freigeben: 2018-05-09 09:36:14
Original
2028 Leute haben es durchsucht

Dieses Mal zeige ich Ihnen, wie Sie Originalwerte und referenzierte Werte in JS speichern. Was sind die Vorsichtsmaßnahmen zum Speichern von Originalwerten und referenzierten Werten? ​in JS. Das Folgende ist ein praktischer Fall, schauen wir uns das gemeinsam an.

In ECMAscript können Variablen zwei Arten von Werten speichern, nämlich Grundwerte und Referenzwerte

Abhängig von den verschiedenen Datentypen werden einige Variablen im Stapel und andere im Heap gespeichert. Die spezifischen Unterschiede sind wie folgt:

Originalvariablen und ihre Werte werden im Stapel gespeichert. Bei der Übergabe einer Originalvariablen an eine andere Originalvariable wird der Inhalt eines Stapelraums in einen anderen Stapelraum kopiert Dies Die beiden ursprünglichen Variablen haben keinen Einfluss aufeinander.

Der Referenzwert speichert den Namen der Referenzvariablen auf dem Stapel, speichert jedoch ihr tatsächliches Objekt im Heap, und es gibt einen Zeiger, der durch den

Variablennamen auf das tatsächlich gespeicherte Objekt zeigt Wenn im Heap das Referenzobjekt an eine andere Variable übergeben wird, wird tatsächlich der Zeiger auf das tatsächliche Objekt kopiert. Wenn der Wert einer Variablen durch eine Methode geändert wird, Wenn auf die andere Variable zugegriffen wird, ändert sich auch ihr Wert entsprechend. Erfolgt dies jedoch nicht über eine Methode, sondern durch Neuzuweisung, was dem erneuten Öffnen eines Raums entspricht und sich der ursprüngliche Zeiger des Werts ändert, ändert sich der andere Wert nicht mit seinem ändern.

Sehen Sie sich das Beispiel an:

var a="hello";
var b=a;
a="world";
alert(a);//world
alert(b);//hello
var arr=[1,3];
arr1=arr;
arr.push(5);
alert(arr)//1,3,5
alert(arr1);//1,3,5
arr=[7,8];
alert(arr);//7,8
alert(arr1);//1,3,5
Nach dem Login kopieren
Verwenden Sie ein Diagramm, um das Ergebnis wie folgt darzustellen:

Die Werte der Originalvariablen beeinflussen sich nicht gegenseitig. Die Referenz Die Variablen arr und arr1 zeigen auf dasselbe Objekt. Wenn also der Wert von arr über eine Methode geändert wird (die Daten im Heap-Raum ändern sich), wird beim Zugriff auf die Daten von arr1 auf das geänderte Objekt zugegriffen

durch Nicht-Methoden Wenn der Wert einer Referenzvariablen geändert wird, wird ein Heap-Raum für die Referenzvariable neu erstellt und der Zeiger ändert sich ebenfalls:

Zusammenfassung:

Number, Stirng, Boolean, Null, Underfined und andere grundlegende Datentypen, deren Werte direkt gespeichert werden der Stapel;

Objekt, Funktion, Array, Datum, RegExp usw. Referenztypen, ihre Referenzvariablen werden im Stapel gespeichert und Zeiger zeigen auf die tatsächlich im Heap gespeicherten Objekte

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:

Detaillierte Erläuterung der Formatierungsmethode des Vue-Filters

In Angular integriertes UI-Framework eines Drittanbieters, ausführliche Erläuterung der Kontrollnutzung

Das obige ist der detaillierte Inhalt vonSo speichern Sie Originalwerte und Referenzwerte in JS. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!