JavaScript while and do ... while Loop (s príkladmi)

V tomto tutoriáli sa pomocou príkladov dozviete o cykle while a cykle … while.

Pri programovaní sa slučky používajú na opakovanie bloku kódu. Napríklad, ak chcete správu zobraziť stokrát, môžete použiť slučku. Je to len jednoduchý príklad; pomocou slučiek môžete dosiahnuť oveľa viac.

V predchádzajúcom tutoriáli ste sa dozvedeli o cykle JavaScript for. Tu sa budete učiť whilea robiť do… whilecykly.

JavaScript počas cyklu

Syntax whileslučky je:

 while (condition) ( // body of loop )

Tu,

  1. whileSlučka vyhodnotí stav vnútri zátvoriek ().
  2. Ak je podmienka vyhodnotená na true, whilevykoná sa kód vo vnútri slučky.
  3. Stav je opäť vyhodnotený.
  4. Tento proces pokračuje, kým podmienka je false.
  5. Keď sa stav vyhodnotí ako false, slučka sa zastaví.

Ak sa chcete dozvedieť viac informácií o podmienkach , navštívte stránku Porovnanie JavaScriptu a Logické operátory.

Vývojový diagram while Loop

Vývojový diagram kódu JavaScript while

Príklad 1: Zobrazenie čí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ýkon

 1 2 3 4 5

Takto funguje tento program.

Iterácia Variabilné Podmienka: i <= n Akcia
1 i = 1
n = 5
true 1 je vytlačený. i sa zvyšuje na 2 .
2 i = 2
n = 5
true 2 je vytlačený. i sa zvyšuje na 3 .
3 i = 3
n = 5
true 3 je vytlačený. i je zvýšené na 4 .
4 i = 4
n = 5
true 4 je vytlačený. i je zvýšené na 5 .
5 i = 5
n = 5
true 5 je vytlačený. i je zvýšené na 6 .
6. i = 6
n = 5
false Slučka je ukončená

Príklad 2: Súčet iba 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ýkon

 Zadajte číslo: 2 Zadajte číslo: 5 Zadajte číslo: 7 Zadajte číslo: 0 Zadajte číslo: -3 Súčet je 14.

Vo vyššie uvedenom programe je používateľ vyzvaný na zadanie čísla.

Tu parseInt()sa používa, pretože prompt()berie vstup od používateľa ako reťazec. A keď sa pridajú číselné reťazce, správa sa ako reťazec. Napríklad '2' + '3' = '23'. Takže parseInt()prevedie číselný reťazec na číslo.

whileSlučka pokračuje, kým používateľ zadá číslo negatívny. Počas každej iterácie sa do sumpremennej pridá číslo zadané používateľom .

Keď užívateľ zadá záporné číslo, slučka sa ukončí. Nakoniec sa zobrazí celková suma.

JavaScript robí … zatiaľ čo Loop

Syntax do… whileslučky je:

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

Tu,

  1. Najskôr sa vykoná telo slučky. Potom sa stav vyhodnotí.
  2. Ak podmienka vyhodnotí ako true, telo slučky vo vnútri dopríkazu sa vykoná znova.
  3. Podmienka je vyhodnotená znova.
  4. Ak podmienka vyhodnotí ako true, telo slučky vo vnútri dopríkazu sa vykoná znova.
  5. Tento proces pokračuje, kým sa stav nevyhodnotí ako false. Potom sa slučka zastaví.

Poznámka : do… whileslučka je podobná whileslučke. Jediný rozdiel je v tom, že v do… whileslučke sa telo slučky vykoná aspoň raz.

Vývojový diagram úloh … zatiaľ čo slučka

Vývojový diagram JavaScriptu robí … zatiaľ čo slučka

Pozrime sa na fungovanie do… whileslučky.

Príklad 3: Zobrazenie čí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ýkon

 1 2 3 4 5

Takto funguje tento program.

Iterácia Variabilné Podmienka: i <= n Akcia
i = 1
n = 5
nekontrolované 1 je vytlačený. i sa zvyšuje na 2 .
1 i = 2
n = 5
true 2 je vytlačený. i sa zvyšuje na 3 .
2 i = 3
n = 5
true 3 je vytlačený. i je zvýšené na 4 .
3 i = 4
n = 5
true 4 je vytlačený. i je zvýšené na 5 .
4 i = 5
n = 5
true 6 je vytlačený. i je zvýšené na 6 .
5 i = 6
n = 5
false Slučka je ukončená

Príklad 4: Súč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

 Zadajte číslo: 2 Zadajte číslo: 4 Zadajte číslo: -500 Súč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… whileslučky sa zvyčajne používajú, keď nie je známy počet iterácií. Napríklad,

 while (condition) ( // body of loop )

Zaujímavé články...