У цьому посібнику ви дізнаєтесь про цикл while та виконуєте… while loop за допомогою прикладів.
У програмуванні цикли використовуються для повторення блоку коду. Наприклад, якщо ви хочете показати повідомлення 100 разів, тоді ви можете використовувати цикл. Це лише простий приклад; ви можете досягти набагато більше за допомогою петель.
У попередньому підручнику ви дізналися про цикл JavaScript for. Тут ви збираєтеся дізнатись про while
і do… while
цикли.
JavaScript в той час як цикл
Синтаксис while
циклу:
while (condition) ( // body of loop )
Ось,
while
Петля оцінює стан всередині дужок()
.- Якщо умова оцінюється як
true
,while
виконується код всередині циклу. - Стан оцінюється знову.
- Цей процес триває доти, доки не стане умовою
false
. - Коли умова оцінюється як
false
, цикл зупиняється.
Щоб дізнатись більше про умови , відвідайте Порівняльний та логічний оператори JavaScript.
Блок-схема блок-циклу while
![](https://cdn.wiki-base.com/5344557/javascript_while_and_dowhile_loop_with_examples.png.webp)
Приклад 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)
Ось,
- Спочатку виконується тіло циклу. Тоді умова оцінюється.
- Якщо умова оцінюється як
true
, тіло циклу всерединіdo
оператора виконується знову. - Стан оцінюється ще раз.
- Якщо умова оцінюється як
true
, тіло циклу всерединіdo
оператора виконується знову. - Цей процес триває до тих пір, поки стан не оціниться до
false
. Потім цикл зупиняється.
Примітка : do… while
цикл схожий на while
цикл. Єдина відмінність полягає в тому, що в do… while
циклі тіло циклу виконується принаймні один раз.
Блок-схема do… while Loop
![](https://cdn.wiki-base.com/5344557/javascript_while_and_dowhile_loop_with_examples_2.png.webp)
Подивимось, як працює 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 )
Цикли while
and do… while
і зазвичай використовуються, коли кількість ітерацій невідома. Наприклад,
while (condition) ( // body of loop )