JavaScript while и do ... while Цикл (с примерами)

В этом руководстве вы узнаете о цикле while и do… while с помощью примеров.

В программировании циклы используются для повторения блока кода. Например, если вы хотите показать сообщение 100 раз, вы можете использовать цикл. Это просто простой пример; вы можете добиться гораздо большего с помощью петель.

В предыдущем руководстве вы узнали о цикле for в JavaScript. Здесь вы собираетесь узнать whileи do… whileпетли.

JavaScript во время цикла

Синтаксис whileцикла:

 while (condition) ( // body of loop )

Вот,

  1. whileПетля оценивает состояние внутри скобок ().
  2. Если условие оценивается как значение true, выполняется код внутри whileцикла.
  3. Состояние оценивается снова.
  4. Этот процесс продолжается до тех пор, пока состояние не изменится false.
  5. Когда условие оценивается false, цикл останавливается.

Чтобы узнать больше об условиях , посетите JavaScript-операторы сравнения и логические операторы.

Блок-схема цикла while

Блок-схема цикла while в JavaScript

Пример 1: отображение чисел от 1 до 5

 // program to display numbers from 1 to 5 // initialize the variable let i = 1, n = 5; // while loop from i = 1 to 5 while (i <= n) ( console.log(i); i += 1; )

Вывод

 1 2 3 4 5

Вот как работает эта программа.

Итерация Переменная Условие: i <= n Действие
1-й i = 1
n = 5
true 1 напечатан. i увеличивается до 2 .
2-й i = 2
n = 5
true 2 напечатано. i увеличивается до 3 .
3-й i = 3
n = 5
true 3 напечатано. i увеличивается до 4 .
4-й i = 4
n = 5
true 4 напечатано. i увеличивается до 5 .
5-й i = 5
n = 5
true 5 напечатано. i увеличивается до 6 .
Шестой i = 6
n = 5
false Цикл завершен

Пример 2: Только сумма положительных чисел

 // program to find the sum of positive numbers // if the user enters a negative numbers, the loop ends // the negative number entered is not added to sum let sum = 0; // take input from the user let number = parseInt(prompt('Enter a number: ')); while(number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive number = parseInt(prompt('Enter a number: ')); ) // display the sum console.log(`The sum is $(sum).`);

Вывод

 Введите число: 2 Введите число: 5 Введите число: 7 Введите число: 0 Введите число: -3 Сумма равна 14.

В приведенной выше программе пользователю предлагается ввести число.

Здесь parseInt()используется, потому что prompt()принимает ввод от пользователя в виде строки. И когда добавляются числовые строки, он ведет себя как строка. Например, '2' + '3' = '23'. Так parseInt()преобразует числовую строку в число.

whileЦикл продолжается до тех пор , пока пользователь не введет отрицательное число. Во время каждой итерации к sumпеременной добавляется число, введенное пользователем .

Когда пользователь вводит отрицательное число, цикл завершается. Наконец, отображается общая сумма.

JavaScript do… while Loop

Синтаксис do… whileцикла:

 do ( // body of loop ) while(condition)

Вот,

  1. Сначала выполняется тело цикла. Тогда условие оценивается.
  2. Если условие оценивается как true, тело цикла внутри doоператора выполняется снова.
  3. Состояние оценивается еще раз.
  4. Если условие оценивается как true, тело цикла внутри doоператора выполняется снова.
  5. Этот процесс продолжается до тех пор, пока условие не станет равным false. Затем цикл останавливается.

Примечание : do… whileпетля аналогична whileпетле. Единственное отличие состоит в том, что в do… whileцикле тело цикла выполняется хотя бы один раз.

Блок-схема цикла do… while

Блок-схема цикла JavaScript do… while

Посмотрим, как работает do… whileцикл.

Пример 3: отображение чисел от 1 до 5

 // program to display numbers let i = 1; const n = 5; // do… while loop from 1 to 5 do ( console.log(i); i++; ) while(i <= n);

Вывод

 1 2 3 4 5

Вот как работает эта программа.

Итерация Переменная Условие: i <= n Действие
i = 1
n = 5
не проверено 1 напечатан. i увеличивается до 2 .
1-й i = 2
n = 5
true 2 напечатано. i увеличивается до 3 .
2-й i = 3
n = 5
true 3 напечатано. i увеличивается до 4 .
3-й i = 4
n = 5
true 4 напечатано. i увеличивается до 5 .
4-й i = 5
n = 5
true 6 напечатано. i увеличивается до 6 .
5-й i = 6
n = 5
false Цикл завершен

Пример 4: сумма положительных чисел

 // to find the sum of positive numbers // if the user enters negative number, the loop terminates // negative number is not added to sum let sum = 0; let number = 0; do ( sum += number; number = parseInt(prompt('Enter a number: ')); ) while(number>= 0) console.log(`The sum is $(sum).`);

Выход 1

 Введите число: 2 Введите число: 4 Введите число: -500 Сумма равна 6.

Here, the do… while loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum variable.

Output 2

 Enter a number: -80 The sum is 0.

The body of the do… while loop runs only once if the user enters a negative number.

Infinite while Loop

If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,

 // infinite while loop while(true)( // body of loop )

Here is an example of an infinite do… while loop.

 // infinite do… while loop const count = 1; do ( // body of loop ) while(count == 1)

In the above programs, the condition is always true. Hence, the loop body will run for infinite times.

for Vs while Loop

A for loop is usually used when the number of iterations is known. For example,

 // this loop is iterated 5 times for (let i = 1; i <=5; ++i) ( // body of loop )

Циклы And whileи do… whileобычно используются, когда количество итераций неизвестно. Например,

 while (condition) ( // body of loop )

Интересные статьи...