Kapslade loopar och scope i JavaScript
Om vi har en loop inuti en loop, kommer variabler
som deklareras i den yttre loopen att vara tillgängliga
i den inre. I följande exempel är variabeln
num tillgänglig i den inre loopen:
for (let i = 0; i <= 9; i++) {
let num = 3;
for (let j = 0; j <= 9; j++) {
console.log(num); // skriver ut 3
}
}
Däremot är variabeln num inte tillgänglig
utanför den yttre loopen:
for (let i = 0; i <= 9; i++) {
let num = 3;
for (let j = 0; j <= 9; j++) {
}
}
console.log(num); // ger ett fel
Variabler som deklareras i den inre loopen är inte tillgängliga utanför:
for (let i = 0; i <= 9; i++) {
for (let j = 0; j <= 9; j++) {
let num = 3;
}
console.log(num); // ger ett fel
}
console.log(num); // ger ett fel