JavaScript while and do ... while Loop (példákkal)

Ebben az oktatóanyagban példák segítségével megismerheti a while ciklust és a… loop ciklust.

A programozás során a ciklusokat egy kódblokk megismétlésére használják. Például, ha 100-szor szeretne üzenetet megjeleníteni, akkor használhat ciklust. Ez csak egy egyszerű példa; sokkal többet érhet el a hurkok segítségével.

Az előző oktatóanyagban megismerkedett a JavaScript for loop programmal. Itt fogsz tanulni whileés do… whilehurkok.

JavaScript közben Loop

A whilehurok szintaxisa :

 while (condition) ( // body of loop )

Itt,

  1. Egy whilehurok értékeli a zárójelben lévő állapotot() .
  2. Ha a feltétel értékét értékeli true, akkor a whileciklus belsejében lévő kód végrehajtásra kerül.
  3. Az állapotot újra értékelik.
  4. Ez a folyamat addig folytatódik, amíg a feltétel nem teljesül false.
  5. Amikor a feltétel kiértékelődik false, a hurok leáll.

Ha többet szeretne megtudni a feltételekről , látogasson el a JavaScript összehasonlító és logikai operátorok oldalra.

A Hurok folyamatábrája

A JavaScript while loop folyamatábra

1. példa: Számok megjelenítése 1-től 5-ig

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

Kimenet

 1 2 3 4 5

Így működik ez a program.

Ismétlés Változó Feltétel: i <= n Akció
1 i = 1
n = 5
true 1 van nyomtatva. i értékét 2-re növeljük .
2. i = 2
n = 5
true 2 van nyomtatva. i 3-ra növekszik .
3 i = 3
n = 5
true 3 van nyomtatva. i értékét 4-re növeljük .
4 i = 4
n = 5
true 4 nyomtatva van. i értékét 5-re növeljük .
5. i = 5
n = 5
true 5 nyomtatva van. i-t 6-ra növeljük .
6. i = 6
n = 5
false A hurok megszűnik

2. példa: Csak a pozitív számok összege

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

Kimenet

 Írjon be egy számot: 2 Írjon be egy számot: 5 Írjon be egy számot: 7 Írjon be egy számot: 0 Írjon be egy számot: -3 Az összeg 14.

A fenti programban a felhasználót arra kérjük, hogy adjon meg egy számot.

Itt parseInt()azért használatos, mert prompt()a felhasználótól származó karakterláncot veszi át. Numerikus karakterláncok hozzáadásakor karakterláncként viselkedik. Például '2' + '3' = '23'. Tehát parseInt()egy numerikus karakterláncot számokká konvertál.

A whilehurok addig folytatódik, amíg a felhasználó negatív számot nem ír be. Minden egyes iteráció során a felhasználó által megadott szám hozzáadódik a sumváltozóhoz.

Amikor a felhasználó negatív számot ír be, a hurok véget ér. Végül megjelenik a teljes összeg.

A JavaScript nem… míg a hurok

A do… whilehurok szintaxisa :

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

Itt,

  1. A hurok testét először végrehajtják. Ezután értékelik az állapotot .
  2. Ha a feltétel értéket kap true, akkor az doutasítás belsejében lévő hurok törzse újra végrehajtásra kerül.
  3. Az állapotot még egyszer értékelik.
  4. Ha a feltétel értéket kap true, akkor az doutasítás belsejében lévő hurok törzse újra végrehajtásra kerül.
  5. Ez a folyamat addig folytatódik, amíg az állapot ki nem értékeli false. Ezután a hurok leáll.

Megjegyzés : a do… whilehurok hasonló a whilehurokhoz. Az egyetlen különbség az, hogy a do… whileciklusban a hurok törzse legalább egyszer végrehajtásra kerül.

A do folyamatábrája … míg a hurok

Folyamatábra a JavaScript do… while ciklus alatt

Lássuk a do… whilehurok működését.

3. példa: Számok megjelenítése 1-től 5-ig

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

Kimenet

 1 2 3 4 5

Így működik ez a program.

Ismétlés Változó Feltétel: i <= n Akció
i = 1
n = 5
nem ellenőrzött 1 van nyomtatva. i értékét 2-re növeljük .
1 i = 2
n = 5
true 2 van nyomtatva. i 3-ra növekszik .
2. i = 3
n = 5
true 3 van nyomtatva. i értékét 4-re növeljük .
3 i = 4
n = 5
true 4 nyomtatva van. i értékét 5-re növeljük .
4 i = 5
n = 5
true 6 nyomtatva van. i-t 6-ra növeljük .
5. i = 6
n = 5
false A hurok megszűnik

4. példa: A pozitív számok összege

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

1. kimenet

 Írjon be egy számot: 2 Írjon be egy számot: 4 Írjon be egy számot: -500 Az összeg 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 )

És whileés do… whilehurkok általában használják, amikor az ismétlések számát nem ismerjük. Például,

 while (condition) ( // body of loop )

érdekes cikkek...