JavaScript while and do ... while Loop (with examples)

V tomto výukovém programu se pomocí příkladů dozvíte o smyčce while a o smyčce do … while.

V programování se smyčky používají k opakování bloku kódu. Například pokud chcete zobrazit zprávu 100krát, můžete použít smyčku. Je to jen jednoduchý příklad; se smyčkami toho dosáhnete mnohem více.

V předchozím kurzu jste se dozvěděli o smyčce JavaScript for. Zde se budete učit o whilea do… whilesmyčky.

JavaScript při smyčce

Syntaxe whilesmyčky je:

 while (condition) ( // body of loop )

Tady,

  1. whileSmyčka vyhodnotí stav uvnitř závorek ().
  2. Pokud se podmínka vyhodnotí true, provede se kód uvnitř whilesmyčky.
  3. Stav je opět vyhodnocen.
  4. Tento proces pokračuje, dokud podmínka je false.
  5. Když se podmínka vyhodnotí false, smyčka se zastaví.

Chcete-li se dozvědět více o podmínkách , navštivte Porovnání JavaScriptu a Logické operátory.

Vývojový diagram while Loop

Vývojový diagram smyčky JavaScript while

Příklad 1: Zobrazení čísel 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; )

Výstup

 1 2 3 4 5

Takto funguje tento program.

Opakování Variabilní Podmínka: i <= n Akce
1. místo i = 1
n = 5
true 1 je vytištěn. i se zvýší na 2 .
2. místo i = 2
n = 5
true 2 je vytištěn. i se zvýší na 3 .
3. místo i = 3
n = 5
true 3 je vytištěn. i se zvýší na 4 .
4. místo i = 4
n = 5
true 4 je vytištěn. i se zvýší na 5 .
5 i = 5
n = 5
true 5 je vytištěn. i se zvýší na 6 .
6. i = 6
n = 5
false Smyčka je ukončena

Příklad 2: Součet pouze kladných čísel

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

Výstup

 Zadejte číslo: 2 Zadejte číslo: 5 Zadejte číslo: 7 Zadejte číslo: 0 Zadejte číslo: -3 Součet je 14.

Ve výše uvedeném programu je uživatel vyzván k zadání čísla.

Zde parseInt()se používá, protože prompt()bere vstup od uživatele jako řetězec. A když jsou přidány číselné řetězce, chová se to jako řetězec. Například '2' + '3' = '23'. Takže parseInt()převede číselný řetězec na číslo.

whileSmyčka pokračuje, dokud uživatel zadá číslo negativní. Během každé iterace se do sumproměnné přidá číslo zadané uživatelem .

Když uživatel zadá záporné číslo, smyčka se ukončí. Nakonec se zobrazí celková částka.

JavaScript dělá … zatímco Loop

Syntaxe do… whilesmyčky je:

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

Tady,

  1. Nejprve se provede tělo smyčky. Poté je podmínka vyhodnocena.
  2. Pokud se podmínka vyhodnotí true, tělo smyčky uvnitř dopříkazu se provede znovu.
  3. Podmínka je vyhodnocena znovu.
  4. Pokud se podmínka vyhodnotí true, tělo smyčky uvnitř dopříkazu se provede znovu.
  5. Tento proces pokračuje, dokud se stav nevyhodnotí false. Poté se smyčka zastaví.

Poznámka : do… whilesmyčka je podobná whilesmyčce. Jediným rozdílem je, že ve do… whilesmyčce je tělo smyčky provedeno alespoň jednou.

Vývojový diagram úkolů … zatímco Loop

Vývojový diagram JavaScriptu dělá… while

Podívejme se na fungování do… whilesmyčky.

Příklad 3: Zobrazení čísel 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);

Výstup

 1 2 3 4 5

Takto funguje tento program.

Opakování Variabilní Podmínka: i <= n Akce
i = 1
n = 5
nezaškrtnuto 1 je vytištěn. i se zvýší na 2 .
1. místo i = 2
n = 5
true 2 je vytištěn. i se zvýší na 3 .
2. místo i = 3
n = 5
true 3 je vytištěn. i se zvýší na 4 .
3. místo i = 4
n = 5
true 4 je vytištěn. i se zvýší na 5 .
4. místo i = 5
n = 5
true 6 je vytištěn. i se zvýší na 6 .
5 i = 6
n = 5
false Smyčka je ukončena

Příklad 4: Součet kladných čísel

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

Výstup 1

 Zadejte číslo: 2 Zadejte číslo: 4 Zadejte číslo: -500 Součet je 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 )

A whilea do… whilesmyčky jsou obvykle používány, když je neznámý počet iterací. Například,

 while (condition) ( // body of loop )

Zajímavé články...