Heim > Web-Frontend > js-Tutorial > Hauptteil

Einführung in die Variablendefinition und -speicherung in JavaScript_Javascript-Kenntnisse

WBOY
Freigeben: 2016-05-16 16:22:59
Original
1140 Leute haben es durchsucht

Im Gegensatz zu Programmiersprachen wie C und Java sind Variablen in JavaScript untypisiert und alle Variablendefinitionen verwenden das Schlüsselwort var:


Code kopieren Der Code lautet wie folgt:

var a;
var m, n;
var x=42, y="test";


Wenn einer Variablen nach ihrer Definition kein Wert zugewiesen wird, ist der Wert der Variablen undefiniert. Beispielsweise sind die Werte der drei Variablen a, m und n im obigen Code alle undefiniert.

Da Variablen in JS typlos sind, ist es durchaus möglich, derselben Variablen verschiedene Arten von Werten zuzuweisen, wie zum Beispiel:


Code kopieren Der Code lautet wie folgt:

var b = "temp";
console.log(typeof b);//string
b = 108;
console.log(typeof b);//number


Zusätzlich zu verschiedenen Arten von Zuweisungen an dieselbe Variable kann JavaScript Variablen auch wiederholt definieren. Wenn Sie dies tun, entspricht die Variablendefinitionsanweisung nach dem ersten Mal der Zuweisungsanweisung:


Code kopieren Der Code lautet wie folgt:

var c = "Hallo";
console.log(c);//hello
var c = true;
console.log(c);//true


Im strikten Modus des ECMAScript-Standards müssen alle Variablendefinitionen das Schlüsselwort var verwenden. Wenn der strikte Modus nicht verwendet wird und ein JS-Programm einer undefinierten Variablen einen Wert zuweist, erstellt das Programm eine Eigenschaft mit demselben Namen wie die Variable im globalen JS-Objekt, d. h. es wird eine neue globale Variable erstellt. Dieser Ansatz wird viele Probleme verursachen (z. B. globale Variablenverschmutzung zwischen mehreren JS-Programmen usw.) und große Probleme bei der späteren Wartung mit sich bringen. Daher sollte dieser Ansatz im eigentlichen Entwicklungsprozess so weit wie möglich vermieden werden.

Speicherung von Variablen

Wenn die definierte Variable eine globale Variable ist und das Schlüsselwort var im Variablendefinitionsprozess nicht verwendet wird, existiert die Variable als Attribut des globalen Objekts, das durch Zugriff auf das entsprechende Attribut dieses (globalen) erhalten werden kann Objekt) oder Es kann mit dem Schlüsselwort delete aus dem globalen Objekt gelöscht werden:


Code kopieren Der Code lautet wie folgt:

var e = "globalVariableValue";//außerhalb einer Funktion definiert, ist es eine globale Variable, wird aber nicht in „this“ gespeichert
f = "globalVariableValue2";
this.g = "globalVariableValue3";
console.log(this.e);//undefiniert
console.log(this.f);//globalVariableValue2
console.log(this.g);//globalVariableValue3

f; löschen
löschen g;
console.log(this.f);//undefiniert
console.log(this.g);//undefiniert


Für jeden Funktionsaufruf in JavaScript erstellt JavaScript ein lokales Objekt, um die in der Funktion definierten lokalen Variablen zu speichern. Wenn innerhalb der Funktion eine verschachtelte Funktion definiert ist, erstellt JavaScript ein lokales Objekt, nachdem die Funktion definiert wurde lokales Objekt innerhalb des lokalen Objekts. Für eine Funktion gibt es so viele Ebenen verschachtelter lokaler Objekte wie Ebenen verschachtelter Funktionsdefinitionen darin. Dieses lokale Objekt wird als „Funktionsaufrufobjekt“ bezeichnet („Aufrufobjekt“ in ECMAScript 3, umbenannt in „deklarativer Umgebungsdatensatz“ in ECMAScript 5, aber ich persönlich denke, dass der Name in ECMAScript 3 einfacher zu verstehen ist).

Im Gegensatz zum globalen Objekt this bietet JavaScript keine Möglichkeit, auf diese lokalen Objekte (Funktionsaufrufobjekte) zuzugreifen. Daher können Entwickler diese lokalen Objekte nicht bearbeiten. Das Verständnis dieser Funktionsaufrufobjekte wird jedoch für das Verständnis einiger Konzepte in JavaScript, wie z. B. des Variablenbereichs und der Abschlüsse, von großem Nutzen sein.

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