Schauen wir uns zunächst einen Code an
function show(){ alert(abc); } var abc="defg"; show();
Leute, die Erfahrung in der C- oder Java-Programmierung haben, sagen möglicherweise: „Dieses Programm ist tot. Die Variable wird nach der Funktion definiert, die auf die Variable verweist. Der Fehler wird Sie im Browser ausführen. Was ist das Ergebnis?“ Funktioniert perfekt! Lassen Sie uns als Nächstes darüber sprechen, was los ist – den Unterschied zwischen Variablen, die mit var und ohne var definiert sind.
1. Keine Variante
Einfach ausgedrückt ist es unsicher, var beim Definieren einer Variablen wegzulassen, aber es ist zulässig. Zu diesem Zeitpunkt weist der Interpreter der Variablen unabhängig davon, wo die Variable definiert ist, einen globalen Gültigkeitsbereich zu.
2. Es gibt var
Sicher und legal. Der Gültigkeitsbereich einer definierten Variablen hängt davon ab, wo sie definiert ist. Was genau der Geltungsbereich ist, erfahren Sie im Artikel „Javascript-Geltungsbereich“ in diesem Blog.
Auf diese Weise kann das Problem am Anfang gelöst werden. Was sich innerhalb der Funktion befindet, ist die Definition von abc, aber der Wert ist undefiniert. Zu diesem Zeitpunkt hat abc einen globalen Geltungsbereich, und was sich außerhalb der Funktion befindet, ist lediglich eine Aktualisierung des Werts von abc.