В този урок ще научите за цикъл while и ще направите… while цикъл с помощта на примери.
При програмирането циклите се използват за повтаряне на блок от код. Например, ако искате да покажете съобщение 100 пъти, тогава можете да използвате цикъл. Това е просто прост пример; можете да постигнете много повече с цикли.
В предишния урок научихте за цикъла JavaScript for. Тук ще научите за while
и do… while
цикли.
JavaScript докато Loop
Синтаксисът на 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
и do… while
се използват, когато броят на итерациите е неизвестен. Например,
while (condition) ( // body of loop )