JavaScript while și do ... while Loop (cu exemple)

În acest tutorial, veți afla despre bucla while și faceți … bucla while cu ajutorul exemplelor.

În programare, buclele sunt folosite pentru a repeta un bloc de cod. De exemplu, dacă doriți să afișați un mesaj de 100 de ori, atunci puteți utiliza o buclă. Este doar un exemplu simplu; puteți obține mult mai multe cu bucle.

În tutorialul anterior, ați aflat despre buclă JavaScript pentru. Aici, veți afla despre whileși do… whilebucle.

JavaScript în timp ce Buclați

Sintaxa whilebuclei este:

 while (condition) ( // body of loop )

Aici,

  1. O whilebuclă evaluează starea din paranteză ().
  2. Dacă condiția este evaluată true, codul din whilebuclă este executat.
  3. Condiția este evaluată din nou.
  4. Acest proces continuă până când starea este false.
  5. Când condiția se evaluează la false, bucla se oprește.

Pentru a afla mai multe despre condiții , vizitați Comparație JavaScript și Operatori logici.

Diagrama fluxului while Loop

Diagrama fluxului JavaScript în buclă

Exemplul 1: Afișați numerele de la 1 la 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; )

Ieșire

 1 2 3 4 5

Iată cum funcționează acest program.

Repetare Variabil Stare: i <= n Acțiune
Primul i = 1
n = 5
true 1 este tipărit. i este mărit la 2 .
Al 2-lea i = 2
n = 5
true 2 este tipărit. i este mărit la 3 .
A treia i = 3
n = 5
true 3 este tipărit. i este mărit la 4 .
Al 4-lea i = 4
n = 5
true 4 este tipărit. i este mărit la 5 .
Al 5-lea i = 5
n = 5
true 5 este tipărit. i este mărit la 6 .
Al 6-lea i = 6
n = 5
false Bucla este terminată

Exemplul 2: Numai suma de numere pozitive

 // 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).`);

Ieșire

 Introduceți un număr: 2 Introduceți un număr: 5 Introduceți un număr: 7 Introduceți un număr: 0 Introduceți un număr: -3 Suma este 14.

În programul de mai sus, utilizatorul este solicitat să introducă un număr.

Aici, parseInt()este folosit pentru că prompt()preia intrarea de la utilizator ca un șir. Și când se adaugă șiruri numerice, acesta se comportă ca un șir. De exemplu '2' + '3' = '23',. Deci, parseInt()convertește un șir numeric în număr.

whileBuclă continuă până când utilizatorul introduce un număr negativ. În timpul fiecărei iterații, numărul introdus de utilizator este adăugat sumvariabilei.

Când utilizatorul introduce un număr negativ, bucla se termină. În cele din urmă, este afișată suma totală.

JavaScript face … în timp ce Buclați

Sintaxa do… whilebuclei este:

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

Aici,

  1. Corpul buclei este executat la început. Apoi, starea este evaluată.
  2. Dacă condiția este evaluată true, corpul buclei din doinstrucțiune este executat din nou.
  3. Condiția este evaluată din nou.
  4. Dacă condiția este evaluată true, corpul buclei din doinstrucțiune este executat din nou.
  5. Acest proces continuă până când condiția se evaluează la false. Apoi bucla se oprește.

Notă : do… whilebucla este similară cu whilebucla. Singura diferență este că în do… whilebuclă, corpul buclei este executat cel puțin o dată.

Diagrama de a face … în timp ce Bucla

Diagrama de JavaScript face … în buclă

Să vedem funcționarea do… whilebuclei.

Exemplul 3: Afișați numerele de la 1 la 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);

Ieșire

 1 2 3 4 5

Iată cum funcționează acest program.

Repetare Variabil Stare: i <= n Acțiune
i = 1
n = 5
nu a verificat 1 este tipărit. i este mărit la 2 .
Primul i = 2
n = 5
true 2 este tipărit. i este mărit la 3 .
Al 2-lea i = 3
n = 5
true 3 este tipărit. i este mărit la 4 .
A treia i = 4
n = 5
true 4 este tipărit. i este mărit la 5 .
Al 4-lea i = 5
n = 5
true 6 este tipărit. i este mărit la 6 .
Al 5-lea i = 6
n = 5
false Bucla este terminată

Exemplul 4: Suma numerelor pozitive

 // 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).`);

Ieșire 1

 Introduceți un număr: 2 Introduceți un număr: 4 Introduceți un număr: -500 Suma este 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 buclele whileși do… whilesunt utilizate de obicei atunci când numărul de iterații este necunoscut. De exemplu,

 while (condition) ( // body of loop )

Articole interesante...