Fortgeschrittene JavaScript-Programmierung: Variablen und Umfang

Fortgeschrittene JavaScript-Programmierung: Variablen und Umfang

1. Ursprungswert und Bezugswert

Die Werte der sechs einfachen Datentypen sind alle primitive Werte. Wenn ein primitiver Wert über eine Variable einer anderen Variablen zugewiesen wird, wird ein neuer Wert kopiert und die beiden sind unabhängig voneinander.

sei num1 = 5
sei num2 = num1


Wenn ein Referenzwert über eine Variable einer anderen Variablen zugewiesen wird, wird auch ein Wert kopiert. Dieser Wert ist tatsächlich ein Zeiger (Referenz), und der Zeiger zeigt immer noch auf dasselbe Objekt.

let obj1 = neues Objekt()

sei obj2 = obj1

Da sie auf dasselbe Referenzobjekt verweisen, wirkt sich das Hinzufügen von Eigenschaften zu obj1 auch auf obj2 aus.

obj1.name = "zhangsan"

console.log(obj2.name) // zhangsan


Beim Übergeben von Parametern an eine Funktion gibt es nur eine Situation, in der die Parameter als Wert übergeben werden. Dies ist dasselbe wie das Zuweisen einer Variablen. Bei Referenzwerten handelt es sich bei dem übergebenen Wert jedoch um einen Zeiger, der Zeiger zeigt jedoch immer noch auf dasselbe Objekt.

2. Instanz von

typeof eignet sich im Allgemeinen zum Beurteilen primitiver Werte, jedoch nicht für Referenzwerte, da null und andere Objekte Objekte zurückgeben und der spezifische Typ des Objekts unbekannt ist. Um zu ermitteln, um welchen Objekttyp es sich bei dem Referenzwert handelt, verwenden Sie am besten instanceof -Ausdruck.

console.log(1 Instanz von Objekt) //false
let obj = neues Objekt();
console.log(obj Instanz von Objekt) //true
console.log(null-Instanz von Objekt) //false



Funktion Spaß () {
    //
}
console.log(fun-Instanz von Objekt) //true
console.log(fun Instanz der Funktion) //true

console.log([] Instanz des Objekts) //true
console.log([] Instanz von Array) //true

3. Geltungsbereich

Der Gültigkeitsbereich einer Variable wird als Scope oder Ausführungskontext bezeichnet. Außerhalb des Gültigkeitsbereichs ist eine Variable nicht mehr sichtbar. Alle Systeme verfügen bei der Suche nach einer Variablen über eine Gültigkeitsbereichskette. Suchen Sie zunächst im nächstgelegenen Blockbereich nach der Variable, die darauf verweist. Wenn sie nicht gefunden wird, suchen Sie weiter im äußeren lokalen Bereich. Wenn sie erneut nicht gefunden wird, suchen Sie im globalen Bereich. Wenn es nicht gefunden wird, wird ein Fehler ReferenceError: xxx is not defined gemeldet.

Dies ist das Ende dieses Artikels über Variablen und Gültigkeitsbereich in der fortgeschrittenen JavaScript-Programmierung. Weitere Informationen zu JavaScript-Variablen und Gültigkeitsbereich finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Lernen wir den Variablenumfang von JavaScript kennen
  • Detaillierte Erklärung des Variablenbereichs in JavaScript
  • Kennen Sie die Variablendeklaration in JavaScript?
  • Detaillierte Beispiele für Variablen- und Funktionspromotion in JavaScript
  • So wandeln Sie lokale Variablen in JavaScript in globale Variablen um
  • JavaScript-Variablen und Transformationsdetails

<<:  Detaillierte Einführung in TABLE-Tags (TAGS)

>>:  Das Erlebnis gestalten: Was auf dem Knopf liegt

Artikel empfehlen

Lösung für das CSS-Höhenkollapsproblem

1. Hoher Einsturzgrad Im Dokumentfluss wird die H...

Kleines Problem mit dem Abstand zwischen Label und Eingabe im Google Browser

Erst Code, dann Text Code kopieren Der Code lautet...

MAC+PyCharm+Flask+Vue.js-Build-System

Inhaltsverzeichnis Konfigurieren Sie node.js+nvm+...

mysql5.7.21.zip Installations-Tutorial

Der detaillierte Installationsprozess von mysql5....

Detaillierte Erläuterung des Shared-Memory-Mechanismus von Nginx

Der gemeinsam genutzte Speicher von Nginx ist ein...

So installieren Sie den Vim-Editor unter Linux (Ubuntu 18.04)

Sie können das Desktopsystem von der offiziellen ...

Stapelweises Ersetzen eines Teils der Daten eines Felds in MySQL (empfohlen)

Stapelweises Ersetzen eines Teils der Daten eines...

Detaillierte Erklärung des JavaScript-Proxy-Objekts

Inhaltsverzeichnis 1. Was ist ein Proxy? 2. Wie w...