JavaScript - Циклы while

Здравствуйте, будущие супергерои кодирования! Сегодня мы погружаемся в захватывающий мир циклов while в JavaScript. Как ваш добрый соседский учитель компьютера, я здесь, чтобы провести вас через это путешествие с множеством примеров и объяснений. Так что возьмите свои виртуальные рюкзаки и отправляйтесь в это loop-ное приключение!

JavaScript - While 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++;
}

В этом примере:

  1. Мы�始化руем переменную count значением 1.
  2. Цикл while продолжается до тех пор, пока count меньше или равно 5.
  3. Внутри цикла мы выводим текущий счет в консоль.
  4. Мы увеличиваем count на 1 с помощью оператора ++.
  5. Цикл повторяет шаги 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);

В этом примере:

  1. Мы�始化уем sum в 0 и number в 1.
  2. Цикл продолжается до тех пор, пока number меньше или равно 10.
  3. В каждой итерации мы добавляем текущий number к sum.
  4. Мы увеличиваем number на 1.
  5. После окончания цикла мы выводим конечную сумму.

Вывод:

Сумма чисел от 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);

В этом примере:

  1. Мы устанавливаем secretNumber и инициируем guess.
  2. Цикл запрашивает у пользователя угадать число и преобразует его в тип числа.
  3. Мы проверяем, угадал ли пользователь, или слишком низко, или太高, и предоставляем обратную связь.
  4. Цикл продолжается до тех пор, пока угаданное число не равно秘密ному числу.
  5. Даже если пользователь угадал правильно с первого раза, блок цикла выполняется как минимум один раз.

Циклы while vs for

Теперь, когда мы рассмотрели циклы while, вы можете задаться вопросом: "Когда мне использовать цикл while вместо цикла for?" Отличный вопрос! Давайте сравним их.

Когда использовать циклы while

Циклы while обычно используются, когда:

  1. Вы не знаете заранее, сколько раз должен выполняться цикл.
  2. Продолжение цикла зависит от условия, которое может измениться во время выполнения цикла.

Когда использовать циклы for

Циклы for часто предпочитают, когда:

  1. Вы знаете точное количество итераций, которые должен выполнить цикл.
  2. Вы итерируете по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