Heim > Web-Frontend > js-Tutorial > Vertiefendes Verständnis der Javascript-Variablendeklaration_Grundkenntnisse

Vertiefendes Verständnis der Javascript-Variablendeklaration_Grundkenntnisse

WBOY
Freigeben: 2016-05-16 16:30:50
Original
1499 Leute haben es durchsucht

Im Vergleich zu C/C kann die for-Schleife in ECMAScript keinen lokalen Kontext erstellen.

Code kopieren Der Code lautet wie folgt:

für (var k in {a: 1, b: 2}) {
alarm(k);
}

alert(k); // Obwohl die Schleife beendet wurde, befindet sich die Variable k immer noch im aktuellen Gültigkeitsbereich
Eine Variable kann jederzeit nur mit dem Schlüsselwort var deklariert werden.

Die Zuweisungsanweisung oben:

a = 10;
Dadurch wird einfach eine neue Eigenschaft für das globale Objekt erstellt (es handelt sich jedoch nicht um eine Variable). „Keine Variable“ bedeutet nicht, dass sie nicht geändert werden kann, sondern dass sie nicht dem Variablenkonzept in der ECMAScript-Spezifikation entspricht, also „keine Variable“ ist (der Grund, warum sie eine Eigenschaft des globalen Objekts werden kann). Dies liegt ausschließlich daran, dass es in JavaScript ein globales Objekt gibt. Bei diesem Vorgang geht es nicht darum, eine Variable zu deklarieren, sondern dem globalen Objekt ein Attribut
hinzuzufügen.
Schauen wir uns ein einfaches Beispiel an, um das Problem zu veranschaulichen

Code kopieren Der Code lautet wie folgt:

if (!("a" im Fenster)) {
var a = 1;
}
Warnung(a);

Zuallererst sind alle globalen Variablen Eigenschaften von window. Die Anweisung var a = 1; entspricht window.a = 1;
Mit der folgenden Methode können Sie prüfen, ob eine globale Variable deklariert ist

„Variablenname“ im Fenster

Zweitens befinden sich alle Variablendeklarationen am oberen Rand des Gültigkeitsbereichs. Schauen Sie sich ein ähnliches Beispiel an:



Code kopieren Der Code lautet wie folgt:
alarm("a" im Fenster);
var a;

Auch wenn die Deklaration nach der Warnung erfolgt, wird die Warnung immer noch als wahr angezeigt. Dies liegt daran, dass die JavaScript-Engine zunächst alle Variablendeklarationen scannt und diese dann an den endgültigen Code verschiebt Der Effekt ist wie folgt:

Code kopieren Der Code lautet wie folgt:
var a;
alarm("a" im Fenster);

Drittens müssen Sie verstehen, dass die Bedeutung dieser Frage darin besteht, dass die Variablendeklaration fortgeschritten ist, die Variablenzuweisung jedoch nicht, da diese Codezeile die Variablendeklaration und Variablenzuweisung enthält.


Sie können die Anweisung wie folgt in Code aufteilen:

Code kopieren Der Code lautet wie folgt:
var a; //Erklärung
a = 1; //Initialisierungszuweisung

Zusammenfassend lässt sich sagen, dass die JavaScript-Engine bei gemeinsamer Verwendung von Variablendeklaration und -zuweisung diese automatisch in zwei Teile aufteilt, um die Variablendeklaration voranzutreiben Ausführung des Codes erwartetes Ergebnis.


Der Code in der Frage entspricht:

Code kopieren Der Code lautet wie folgt:
var a;
if (!("a" im Fenster)) {
a = 1;
}
Warnung(a);


Gemäß der Analyse des obigen Beispiels müssen Sie beim Deklarieren einer Variablen var vor der deklarierten lokalen Variablen hinzufügen. Wenn Sie eine globale Variable deklarieren, müssen Sie var nicht hinzufügen (es ist am besten, die Anzahl zu begrenzen). globale Variablen und versuchen Sie, lokale Variablen zu verwenden)

Im Folgenden werden verschiedene Funktionen der Verwendung von var beschrieben

Die mehrfache Verwendung der var-Anweisung zum Deklarieren einer Variablen ist nicht nur zulässig, sondern verursacht auch keine Fehler.
Wenn eine wiederverwendete Anweisung einen Anfangswert hat, fungiert sie lediglich als Zuweisungsanweisung.
Wenn eine Deklaration ohne Anfangswert wiederverwendet wird, hat dies keine Auswirkung auf die ursprüngliche Variable.
Ohne var deklarierte Variablen existieren als globale Variablen; mit var deklarierte Variablen sind lokale Variablen, insbesondere innerhalb von Funktionen. Darüber hinaus ist die Deklaration mit var nach dem Testen schneller als ohne var. Richten Sie so viele lokale Variablen wie möglich in der Funktion ein, damit sie sicher und schnell ist und die Variablenoperation sinnvoller ist. Logikfehler werden nicht durch zufällige Manipulation globaler Variablen in der Funktion verursacht.

Bei der Deklaration eines Objekts ist es am besten, die Self-Face-Methode des Objekts zu verwenden, die viel schneller ist als die neue Methode.

Der Variablenname wird von Ihnen selbst gewählt. Um Semantik und Spezifikationen zu gewährleisten, kann der Variablenname etwas länger sein, aber bitte beachten Sie, dass die Länge des Variablennamens auch die Ausführungsgeschwindigkeit des Codes beeinflusst. Deklarationen mit langen Variablennamen werden nicht so schnell ausgeführt wie kurze.

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