JavaScript - Циклы while
Здравствуйте, будущие супергерои кодирования! Сегодня мы погружаемся в захватывающий мир циклов while в JavaScript. Как ваш добрый соседский учитель компьютера, я здесь, чтобы провести вас через это путешествие с множеством примеров и объяснений. Так что возьмите свои виртуальные рюкзаки и отправляйтесь в это loop-ное приключение!
Цикл while в JavaScript
Цикл while похож на persistence друга, который не перестает спрашивать: "Мы уже там?" до тех пор, пока вы не достигнете своего назначения. Это основной инструмент в программировании, который позволяет нам повторять блок кода до тех пор, пока указанное условие является истинным.
Основной синтаксис
Вот как выглядит цикл while в своей simplest форме:
while (condition) {
// код для выполнения
}
Давайте разберем это:
- Ключевое слово
while
говорит JavaScript, что мы хотим начать цикл while. -
condition
- это布尔ское выражение, которое оценивается перед каждым итерацией цикла. - Если условие истинно, то код внутри фигурных скобок
{}
выполняется. - Этот процесс повторяется до тех пор, пока условие не станет ложным.
Пример 1: Подсчет до 5
Давайте начнем с простого примера:
let count = 1;
while (count <= 5) {
console.log("Счет: " + count);
count++;
}
В этом примере:
- Мы�始化руем переменную
count
значением 1. - Цикл while продолжается до тех пор, пока
count
меньше или равно 5. - Внутри цикла мы выводим текущий счет в консоль.
- Мы увеличиваем
count
на 1 с помощью оператора++
. - Цикл повторяет шаги 3-4 до тех пор, пока
count
не станет 6, после чего условие становится ложным, и цикл заканчивается.
Вывод:
Счет: 1
Счет: 2
Счет: 3
Счет: 4
Счет: 5
Пример 2: Сумма чисел
Давайте попробуем что-то более практичное. Мы используем цикл while для вычисления суммы чисел от 1 до 10:
let sum = 0;
let number = 1;
while (number <= 10) {
sum += number;
number++;
}
console.log("Сумма чисел от 1 до 10 равна: " + sum);
В этом примере:
- Мы�始化уем
sum
в 0 иnumber
в 1. - Цикл продолжается до тех пор, пока
number
меньше или равно 10. - В каждой итерации мы добавляем текущий
number
кsum
. - Мы увеличиваем
number
на 1. - После окончания цикла мы выводим конечную сумму.
Вывод:
Сумма чисел от 1 до 10 равна: 55
Цикл do...while в JavaScript
Теперь давайте познакомимся с циклом do...while - немного более оптимистичным cousin цикла while. Это как сказать: "Давайте зробим это хотя бы раз, а потом посмотрим, хотим ли мы продолжать."
Основной синтаксис
Вот структура цикла do...while:
do {
// код для выполнения
} while (condition);
Основное различие здесь в том, что блок кода выполняется как минимум один раз перед проверкой условия.
Пример 3: Игра в угадайку
Давайте создадим простую игру в угадайку с использованием цикла do...while:
let secretNumber = 7;
let guess;
do {
guess = prompt("Угадайте число от 1 до 10:");
guess = Number(guess);
if (guess === secretNumber) {
console.log("Поздравляю! Вы угадали!");
} else if (guess < secretNumber) {
console.log("Слишком низко! Попробуйте еще раз.");
} else {
console.log("Слишком высоко! Попробуйте еще раз.");
}
} while (guess !== secretNumber);
В этом примере:
- Мы устанавливаем
secretNumber
и инициируемguess
. - Цикл запрашивает у пользователя угадать число и преобразует его в тип числа.
- Мы проверяем, угадал ли пользователь, или слишком низко, или太高, и предоставляем обратную связь.
- Цикл продолжается до тех пор, пока угаданное число не равно秘密ному числу.
- Даже если пользователь угадал правильно с первого раза, блок цикла выполняется как минимум один раз.
Циклы while vs for
Теперь, когда мы рассмотрели циклы while, вы можете задаться вопросом: "Когда мне использовать цикл while вместо цикла for?" Отличный вопрос! Давайте сравним их.
Когда использовать циклы while
Циклы while обычно используются, когда:
- Вы не знаете заранее, сколько раз должен выполняться цикл.
- Продолжение цикла зависит от условия, которое может измениться во время выполнения цикла.
Когда использовать циклы for
Циклы for часто предпочитают, когда:
- Вы знаете точное количество итераций, которые должен выполнить цикл.
- Вы итерируете поsequence (например, массиву) с известной длиной.
Пример 4: Нахождение первой степени 2, большей 1000
Давайте используем цикл while, чтобы найти первую степень 2, которая больше 1000:
let power = 0;
let result = 1;
while (result <= 1000) {
power++;
result = Math.pow(2, power);
}
console.log(`Первая степень 2, большая 1000, это 2^${power} = ${result}`);
В этом случае цикл while идеально подходит, так как мы не знаем заранее, сколько итераций нам потребуется.
Таблица методов
Вот удобная таблица, резюмирующая методы, которые мы обсуждали:
Тип цикла | Синтаксис | Случай использования |
---|---|---|
while | while (condition) { ... } |
Когда количество итераций неизвестно |
do...while | do { ... } while (condition); |
Когда вы хотите выполнить цикл хотя бы один раз |
for | for (init; condition; update) { ... } |
Когда количество итераций известно |
помните, что выбор правильного цикла похож на выбор правильного инструмента для работы. С практикой вы разовьете интуицию для того, какой из них лучше подходит для различных сценариев.
И вот оно, мои кодировочные подмастерья! Мы прошлись по всем аспектам циклов while в JavaScript. Помните, что циклы resemble качели на детской площадке программирования - они продолжают вращаться, пока не прийдет время остановиться. Continue practicing, и скоро вы станете мастером циклов в вашем кодировочном мире!
Credits: Image by storyset