JavaScript while and do ... while Loop (з прикладами)

У цьому посібнику ви дізнаєтесь про цикл while та виконуєте… while loop за допомогою прикладів.

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

У попередньому підручнику ви дізналися про цикл JavaScript for. Тут ви збираєтеся дізнатись про whileі do… whileцикли.

JavaScript в той час як цикл

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

 while (condition) ( // body of loop )

Ось,

  1. whileПетля оцінює стан всередині дужок ().
  2. Якщо умова оцінюється як true, whileвиконується код всередині циклу.
  3. Стан оцінюється знову.
  4. Цей процес триває доти, доки не стане умовоюfalse .
  5. Коли умова оцінюється як false, цикл зупиняється.

Щоб дізнатись більше про умови , відвідайте Порівняльний та логічний оператори JavaScript.

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

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

Приклад 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 .
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 робить … поки 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 Loop

Блок-схема 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 )

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

 while (condition) ( // body of loop )

Цікаві статті...