Heim >Web-Frontend >js-Tutorial >Was sind die Speichermethoden für JS-Originalwerte und Referenzwerte?
Dieses Mal werde ich Ihnen die Speichermethoden des JS-Originalwerts und des Referenzwerts vorstellen. Was sind die Vorsichtsmaßnahmen bei der Verwendung der JS-Originalwert- und Referenzwertspeichermethode? Tatsächlicher Kampf Werfen wir einen Blick auf den Fall.
Der Originalwert bezieht sich auf den Wert, der den ursprünglichen Datentyp darstellt, auch Basisdatentyp genannt, einschließlich: Zahl, Stirng, Boolean, Null, Unterfiniert
Referenzwerte beziehen sich auf Werte zusammengesetzter Datentypen, einschließlich: Objekt, Funktion, Array, Datum, RegExp
Abhängig von den Daten Typ: Einige Variablen werden auf dem Stapel und andere auf dem 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
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 verweisen über Zeiger 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:
Ausführliche Erklärung der Schritte zum Aufrufen der Baidu-Karte in Vue
Vue-Dokument macht leicht Fehler organisiert
Das obige ist der detaillierte Inhalt vonWas sind die Speichermethoden für JS-Originalwerte und Referenzwerte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!