Nur um die anderen Antworten zu ergänzen: scope ist eine Nachschlageliste aller deklarierten Bezeichner (Variablen) und erzwingt eine strenge Reihe von Regeln, wie diese für den aktuell ausgeführten Code zugänglich sind. Dieses Nachschlagen kann zum Zweck der Zuweisung an die Variable erfolgen, was eine LHS-Referenz (linke Seite) ist, oder zum Zweck des Abrufs ihres Wertes, was eine RHS-Referenz (rechte Seite) ist. Diese Verweise werden von der JavaScript-Engine intern durchgeführt, wenn sie den Code kompiliert und ausführt.
Unter diesem Gesichtspunkt würde mir ein Bild helfen, das ich in dem Buch Scopes and Closures von Kyle Simpson gefunden habe:
![image]()
Ich zitiere aus seinem ebook:
Das Gebäude stellt den verschachtelten Regelsatz unseres Programms dar. Die erste Stockwerk des Gebäudes repräsentiert Ihren aktuell ausgeführten Bereich, wo immer Sie sich befinden. Die oberste Ebene des Gebäudes ist der globale Bereich. Sie lösen LHS- und RHS-Referenzen auf, indem Sie in Ihrem aktuellen Stockwerk suchen, und wenn Sie sie nicht finden, nehmen Sie den Aufzug in die nächste Etage, Dort suchen Sie, dann im nächsten und so weiter. Sobald Sie in der obersten Etage angekommen sind (dem globalen Bereich) angekommen sind, finden Sie entweder, was Sie suchen, oder nicht. Aber Sie müssen auf jeden Fall anhalten.
Es ist erwähnenswert, dass "Scope look-up stoppt, sobald es die erste Übereinstimmung findet".
Diese Idee der "Bereichsebenen" erklärt, warum "this" mit einem neu erstellten Bereich geändert werden kann, wenn er in einer verschachtelten Funktion nachgeschlagen wird. Hier ist ein Link, der auf all diese Details eingeht, Alles, was Sie über den Anwendungsbereich von Javascript wissen wollten
5 Stimmen
Hier ist eine weitere schöne Link dieses Thema im Auge zu behalten: " Erläuterung von JavaScript-Bereich und -Schließungen ".
10 Stimmen
Hier ist ein Artikel, der dies sehr gut erklärt. Alles, was Sie über den Umfang von Javascript-Variablen wissen müssen
3 Stimmen
Le site zuvor erwähnt E-Book von Kyle Simpson ist auf Github zu lesen, und es sagt Ihnen alles, was Sie über JavaScript Scopes & Closures wissen müssen. Sie können es hier finden: github.com/getify/You-Dont-Know-JS/blob/master/ Es ist Teil des Buchreihe "Du kennst JS nicht" die für alle geeignet ist, die mehr über JavaScript wissen möchten.
0 Stimmen
var
Regeln. javascript braucht nicht den "Zusatz" von 'const' und 'let', die gegen seinen Geist sind. - Ich weiß, dass diese beiden nicht Teil Ihrer Frage sind - musste dies hinzufügen, nachdem ich sah, dass so viele sie "schieben".