Let- und Block-Scoping mit For-Schleifen verstehen
let verhindert doppelte Deklarationen und ermöglicht die Verwendung von Variablen innerhalb von Abschlüssen. Allerdings kann die Anwendung auf for-Schleifen etwas verwirrend sein. In diesem Zusammenhang schließt let jede Iteration in eine neue lexikalische Umgebung ein und bindet die Schleifenvariable an ihren eigenen eindeutigen Bereich.
Betrachten Sie den folgenden Code:
// prints '10' 10 times for (var i = 0; i < 10; i++) { process.nextTick(_ => console.log(i)) } // prints '0' through '9' for (let i = 0; i < 10; i++) { process.nextTick(_ => console.log(i)) }
In der ersten Schleife wird var verwendet, wodurch eine globale Variable erstellt wird. Folglich greift jede Iteration der Schleife auf dieselbe globale Variable i zu, was zur Ausgabe „10“ zehnmal führt.
In der zweiten Schleife wird let verwendet, wodurch für jede Iteration ein neuer Blockbereich erstellt wird. Dies bedeutet, dass jede Iteration ihre eigene, eindeutige i-Variable hat, die von den anderen isoliert ist. Daher zeigt die Ausgabe „0“ bis „9“ an.
Dieser Mechanismus ist mehr als nur syntaktischer Zucker. Dazu gehört die Erstellung einer einzigartigen lexikalischen Umgebung für jede Iteration, die die Schleifenvariable innerhalb ihres exklusiven Geltungsbereichs schützt.
Zur Veranschaulichung: Der „entzuckerte“ Code für die var-Schleife wird zu einer einfachen linearen Schrittfolge erweitert. Im Gegensatz dazu führt der „entzuckerte“ Code für die let-Schleife in geschweifte Klammern eingeschlossene Blöcke ein, um den Umfang jeder Iteration explizit abzugrenzen und die unterschiedliche lexikalische Umgebung für jede Iteration widerzuspiegeln.
Das obige ist der detaillierte Inhalt vonWie wirkt sich „let' auf das For-Schleifenverhalten und den Variablenbereich in JavaScript aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!