W tym samouczku nauczysz się pętli while i zrobisz pętlę while na podstawie przykładów.
W programowaniu pętle służą do powtarzania bloku kodu. Na przykład, jeśli chcesz wyświetlić wiadomość 100 razy, możesz użyć pętli. To tylko prosty przykład; dzięki pętlom można osiągnąć znacznie więcej.
W poprzednim samouczku poznałeś pętlę JavaScript for. Tutaj masz zamiar poznać while
i do… while
pętle.
JavaScript while Loop
Składnia while
pętli to:
while (condition) ( // body of loop )
Tutaj,
while
Pętli ocenia stan wewnątrz nawiasów()
.- Jeśli warunek ma wartość
true
, kod wewnątrzwhile
pętli jest wykonywany. - Warunek zostanie ponownie ocenione.
- Ten proces trwa, dopóki stan nie jest
false
. - Kiedy warunek ma wartość
false
, pętla zatrzymuje się.
Aby dowiedzieć się więcej o warunkach , odwiedź stronę Porównanie JavaScript i operatory logiczne.
Schemat blokowy while Loop

Przykład 1: Wyświetlanie liczb od 1 do 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; )
Wynik
1 2 3 4 5
Oto jak działa ten program.
Iteracja | Zmienna | Warunek: i <= n | Akcja |
---|---|---|---|
1 | i = 1 n = 5 | true | 1 jest drukowany. i wzrasta do 2 . |
2nd | i = 2 n = 5 | true | 2 jest drukowane. i wzrasta do 3 . |
3rd | i = 3 n = 5 | true | 3 jest drukowane. i wzrasta do 4 . |
4 | i = 4 n = 5 | true | 4 jest drukowane. i wzrasta do 5 . |
5 | i = 5 n = 5 | true | 5 jest drukowane. i wzrasta do 6 . |
6th | i = 6 n = 5 | false | Pętla jest zakończona |
Przykład 2: Suma tylko liczb dodatnich
// 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).`);
Wynik
Podaj liczbę: 2 Podaj liczbę: 5 Podaj liczbę: 7 Podaj liczbę: 0 Podaj liczbę: -3 Suma wynosi 14.
W powyższym programie użytkownik jest proszony o wprowadzenie liczby.
Tutaj parseInt()
jest używany, ponieważ prompt()
pobiera dane wejściowe od użytkownika jako ciąg. Po dodaniu ciągów liczbowych zachowuje się jak ciąg. Na przykład '2' + '3' = '23'
. Więc parseInt()
konwertuje ciąg liczbowy na liczbę.
while
Pętla trwa aż użytkownik wprowadzi liczbę ujemną. Podczas każdej iteracji do sum
zmiennej dodawana jest liczba wprowadzona przez użytkownika .
Gdy użytkownik wprowadzi liczbę ujemną, pętla się kończy. Na koniec wyświetlana jest łączna suma.
JavaScript robi… while Loop
Składnia do… while
pętli to:
do ( // body of loop ) while(condition)
Tutaj,
- Ciało pętli jest wykonywane jako pierwsze. Następnie warunek jest oceniany.
- Jeśli warunek ma wartość
true
, treść pętli wewnątrzdo
instrukcji jest wykonywana ponownie. - Stan jest oceniany po raz kolejny.
- Jeśli warunek ma wartość
true
, treść pętli wewnątrzdo
instrukcji jest wykonywana ponownie. - Ten proces jest kontynuowany, dopóki warunek nie osiągnie wartości
false
. Następnie pętla się zatrzymuje.
Uwaga : do… while
pętla jest podobna do while
pętli. Jedyną różnicą jest to, że w do… while
pętli treść pętli jest wykonywana co najmniej raz.
Schemat blokowy funkcji do… while Loop

Zobaczmy, jak działa do… while
pętla.
Przykład 3: Wyświetlanie liczb od 1 do 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);
Wynik
1 2 3 4 5
Oto jak działa ten program.
Iteracja | Zmienna | Warunek: i <= n | Akcja |
---|---|---|---|
i = 1 n = 5 | niesprawdzone | 1 jest drukowany. i wzrasta do 2 . | |
1 | i = 2 n = 5 | true | 2 jest drukowane. i wzrasta do 3 . |
2nd | i = 3 n = 5 | true | 3 jest drukowane. i wzrasta do 4 . |
3rd | i = 4 n = 5 | true | 4 jest drukowane. i wzrasta do 5 . |
4 | i = 5 n = 5 | true | 6 jest drukowane. i wzrasta do 6 . |
5 | i = 6 n = 5 | false | Pętla jest zakończona |
Przykład 4: Suma liczb dodatnich
// 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).`);
Wyjście 1
Podaj liczbę: 2 Podaj liczbę: 4 Podaj liczbę: -500 Suma wynosi 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 )
I while
i do… while
pętle są zwykle używane, gdy liczba iteracji jest nieznana. Na przykład,
while (condition) ( // body of loop )