JavaScript while i do ... while Loop (z przykładami)

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ć whilei do… whilepętle.

JavaScript while Loop

Składnia whilepętli to:

 while (condition) ( // body of loop )

Tutaj,

  1. whilePętli ocenia stan wewnątrz nawiasów ().
  2. Jeśli warunek ma wartość true, kod wewnątrz whilepętli jest wykonywany.
  3. Warunek zostanie ponownie ocenione.
  4. Ten proces trwa, dopóki stan nie jest false.
  5. 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

Schemat blokowy JavaScript 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ę.

whilePętla trwa aż użytkownik wprowadzi liczbę ujemną. Podczas każdej iteracji do sumzmiennej 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… whilepętli to:

 do ( // body of loop ) while(condition)

Tutaj,

  1. Ciało pętli jest wykonywane jako pierwsze. Następnie warunek jest oceniany.
  2. Jeśli warunek ma wartość true, treść pętli wewnątrz doinstrukcji jest wykonywana ponownie.
  3. Stan jest oceniany po raz kolejny.
  4. Jeśli warunek ma wartość true, treść pętli wewnątrz doinstrukcji jest wykonywana ponownie.
  5. Ten proces jest kontynuowany, dopóki warunek nie osiągnie wartości false. Następnie pętla się zatrzymuje.

Uwaga : do… whilepętla jest podobna do whilepętli. Jedyną różnicą jest to, że w do… whilepętli treść pętli jest wykonywana co najmniej raz.

Schemat blokowy funkcji do… while Loop

Schemat blokowy JavaScript robi… pętla while

Zobaczmy, jak działa do… whilepę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 whilei do… whilepętle są zwykle używane, gdy liczba iteracji jest nieznana. Na przykład,

 while (condition) ( // body of loop )

Interesujące artykuły...