Schauen wir uns zuerst ein Stück Code an
Funktion show () {alert (ABC); } var abc = "Defg"; zeigen();Personen, die Erfahrung in C ++ oder Java -Programmierung haben, können sagen: "Dieses Programm ist tot und die Variable wird nach der Funktion definiert, die die Variable verweist. Der Fehler zerstört Sie." Wenn Sie es im Browser ausführen, was wird dann passieren? Perfekt laufen! Lassen Sie uns als nächstes darüber sprechen, was vor sich geht - den Unterschied zwischen Variablen mit var und ohne VAR -Definition.
1. nein var
Um es einfach auszudrücken, es ist nicht sicher, VAR beim Definieren von Variablen wegzulassen, aber es ist legal. Zu diesem Zeitpunkt weist der Interpreter unabhängig davon, wo die Variable definiert ist, den variablen globalen Bereich zu.
2. haben var
Sicher und legal. Der Umfang einer definierten Variablen hängt vom Ort des definierten ab. Was der Umfang betrifft, lesen Sie bitte den Artikel "JavaScript Scope" in diesem Blog.
Auf diese Weise kann das Problem am Anfang gelöst werden. Die Definition von ABC in der Funktion ist nur der Wert von undefiniert. Zu diesem Zeitpunkt verfügt ABC über einen globalen Bereich, und die Außenseite der Funktion ist nur die Aktualisierung des Wertes von ABC.