Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI3 апр. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Что такое бесконечный цикл while?
Бесконечный цикл while — это цикл, условие выхода которого никогда не становится ложным. Браузер "замирает", скрипт останавливается, страница становится неответчивой. Это одна из самых частых ошибок начинающих разработчиков.
Основная причина: неправильное условие
Самая частая ошибка — забыть обновить переменную в условии цикла:
// Неправильно — i никогда не увеличивается
let i = 0;
while (i < 10) {
console.log(i);
// Забыли i++
}
// Правильно — увеличиваем i каждую итерацию
let i = 0;
while (i < 10) {
console.log(i);
i++; // Обновляем переменную
}
Как не допустить ошибку?
1. Используй for вместо while для счётчиков
Синтаксис for явно показывает инициализацию, условие и инкремент:
// Понятнее и безопаснее
for (let i = 0; i < 10; i++) {
console.log(i);
}
// Эквивалентно, но опаснее:
let i = 0;
while (i < 10) {
console.log(i);
i++;
}
2. Проверяй условие выхода
Перед циклом убедись, что условие действительно может стать ложным:
// Неправильно — condition никогда не меняется
const condition = true;
while (condition) {
console.log('Stuck!');
}
// Правильно — добавь логику для выхода
let condition = true;
let count = 0;
while (condition && count < 5) {
console.log('Iteration', count);
count++;
if (count === 3) condition = false;
}
3. Используй do...while с осторожностью
Этот вариант выполняет цикл хотя бы один раз:
let i = 10;
do {
console.log('Executed');
i++;
} while (i < 5); // Условие ложно, но блок выполнился один раз
Практические примеры
Обработка пользовательского ввода
let userInput = '';
while (userInput !== 'quit') {
userInput = prompt('Enter command (type quit to exit):');
if (userInput === 'quit') break;
console.log('Command:', userInput);
}
Работа с массивом
const arr = [1, 2, 3, 4, 5];
let index = 0;
while (index < arr.length) {
console.log(arr[index]);
index++;
}
Отладка бесконечного цикла
Если создал бесконечный цикл:
- Останови код (Ctrl+C или перезагрузи страницу)
- Добавь console.log перед циклом
- Проверь условие выхода
- Убедись, что переменная изменяется в цикле
Вывод
Главное: убедись, что условие может стать ложным и переменная в условии изменяется в цикле. Используй for для счётчиков, while для сложных условий.