JavaScript hat nur einen Funktionsbereich; jede Funktion hat eine Bereichskette direkt zum Fensterobjekt.
Variablen werden Schicht für Schicht von innen nach außen durchsucht, bis sie gefunden werden.
Gleichzeitig können Sie es nicht nur finden und verwenden, sondern sogar externe Variablen ändern.
var color = "blue";
function changeColor () {
var anotherColor = "red";
function swapColors() {
var tempColor = anotherColor;
anotherColor = color;
color = tempColor;
}
swapColors();
}
changeColor();
console.log(color); // "red" Auf externe Variablen kann nicht nur zugegriffen, sondern auch geändert werden