У цьому посібнику ви дізнаєтесь про цикл while та виконуєте… while loop за допомогою прикладів.
У програмуванні цикли використовуються для повторення блоку коду. Наприклад, якщо ви хочете показати повідомлення 100 разів, тоді ви можете використовувати цикл. Це лише простий приклад; ви можете досягти набагато більше за допомогою петель.
У попередньому підручнику ви дізналися про цикл JavaScript for. Тут ви збираєтеся дізнатись про whileі do… whileцикли.
JavaScript в той час як цикл
Синтаксис whileциклу:
while (condition) ( // body of loop )
Ось,
whileПетля оцінює стан всередині дужок().- Якщо умова оцінюється як
true,whileвиконується код всередині циклу. - Стан оцінюється знову.
- Цей процес триває доти, доки не стане умовою
false. - Коли умова оцінюється як
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 = 1n = 5 | true | 1 надруковано. i збільшено до 2 . |
| 2-й | i = 2n = 5 | true | 2 надруковано. i збільшено до 3 . |
| 3-й | i = 3n = 5 | true | 3 надруковано. i збільшено до 4 . |
| 4-й | i = 4n = 5 | true | 4 надруковано. i збільшено до 5 . |
| 5-й | i = 5n = 5 | true | 5 надруковано. i збільшено до 6 . |
| 6-й | i = 6n = 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)
Ось,
- Спочатку виконується тіло циклу. Тоді умова оцінюється.
- Якщо умова оцінюється як
true, тіло циклу всерединіdoоператора виконується знову. - Стан оцінюється ще раз.
- Якщо умова оцінюється як
true, тіло циклу всерединіdoоператора виконується знову. - Цей процес триває до тих пір, поки стан не оціниться до
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 = 1n = 5 | не перевірено | 1 надруковано. i збільшено до 2 . | |
| 1-й | i = 2n = 5 | true | 2 надруковано. i збільшено до 3 . |
| 2-й | i = 3n = 5 | true | 3 надруковано. i збільшено до 4 . |
| 3-й | i = 4n = 5 | true | 4 надруковано. i збільшено до 5 . |
| 4-й | i = 5n = 5 | true | 6 надруковано. i збільшено до 6 . |
| 5-й | i = 6n = 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 )








