Мы уже обсуждали с вами область видимости переменных, объявленных внутри фигурных скобок условий. Аналогичной областью видимости обладают и циклы. Давайте посмотрим на примерах.
Объявим какую-нибудь переменную внутри цикла:
for (let i = 1; i <= 9; i++) {
let num = 3;
console.log(num); // выведет 3
}
Если же попытаться вывести эту переменную снаружи цикла, то мы получим ошибку:
for (let i = 1; i <= 9; i++) {
let num = 3;
}
console.log(num); // выдаст ошибку
При необходимости можно объявить переменную снаружи цикла - тогда она будет доступна как внутри цикла, так и снаружи:
let num; // объявим переменную снаружи цикла
for (let i = 1; i <= 9; i++) {
num = 3; // установим ей значение
}
console.log(num); // выведет 3
Область видимости счетчиков
Давайте теперь посмотрим область видимости счетчика цикла. Пусть, для примера, у нас есть вот такой цикл:
for (let i = 1; i <= 9; i++) {
}
Очевидно, что переменная-счетчик i
доступна внутри цикла:
for (let i = 1; i <= 9; i++) {
console.log(i); // последовательно выведет числа от 1 до 9
}
А вот снаружи цикла переменная будет i
недоступна:
for (let i = 1; i <= 9; i++) {
}
console.log(i); // выдаст ошибку