JavaScript while en do ... while Loop (met voorbeelden)

In deze tutorial leer je met behulp van voorbeelden over while-loop en do… while-loop.

Bij het programmeren worden lussen gebruikt om een ​​codeblok te herhalen. Als u bijvoorbeeld een bericht 100 keer wilt weergeven, kunt u een lus gebruiken. Het is maar een eenvoudig voorbeeld; je kunt veel meer bereiken met loops.

In de vorige tutorial heb je geleerd over de JavaScript for loop. Hier ga je leren over whileen do… whileloops.

JavaScript terwijl Loop

De syntaxis van de whilelus is:

 while (condition) ( // body of loop )

Hier,

  1. Een whilelus evalueert de conditie tussen haakjes ().
  2. Als de voorwaarde evalueert naar true, wordt de code in de whilelus uitgevoerd.
  3. De toestand wordt opnieuw geëvalueerd.
  4. Dit proces gaat door totdat de toestand is false.
  5. Wanneer de voorwaarde evalueert naar false, stopt de lus.

Ga voor meer informatie over de voorwaarden naar JavaScript-vergelijking en logische operatoren.

Stroomdiagram van while-lus

Stroomdiagram van JavaScript while loop

Voorbeeld 1: nummers van 1 tot 5 weergeven

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

Uitvoer

 1 2 3 4 5

Hier is hoe dit programma werkt.

Iteratie Variabel Staat: i <= n Actie
1e i = 1
n = 5
true 1 is gedrukt. i wordt verhoogd naar 2 .
2e i = 2
n = 5
true 2 is gedrukt. i wordt verhoogd naar 3 .
3e i = 3
n = 5
true 3 is gedrukt. i wordt verhoogd naar 4 .
4e i = 4
n = 5
true 4 is gedrukt. i wordt verhoogd naar 5 .
5e i = 5
n = 5
true 5 is gedrukt. i wordt verhoogd naar 6 .
6e i = 6
n = 5
false De lus is beëindigd

Voorbeeld 2: som van alleen positieve getallen

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

Uitvoer

 Voer een getal in: 2 Voer een getal in: 5 Voer een getal in: 7 Voer een getal in: 0 Voer een getal in: -3 De som is 14.

In het bovenstaande programma wordt de gebruiker gevraagd een nummer in te voeren.

Hier parseInt()wordt gebruikt omdat prompt()de invoer van de gebruiker als een string wordt gebruikt. En wanneer numerieke tekenreeksen worden toegevoegd, gedraagt ​​het zich als een tekenreeks. Bijvoorbeeld '2' + '3' = '23'. Dus parseInt()converteert een numerieke reeks naar een getal.

De whilelus gaat door totdat de gebruiker een negatief getal invoert. Tijdens elke iteratie wordt het door de gebruiker ingevoerde getal aan de sumvariabele toegevoegd .

Wanneer de gebruiker een negatief getal invoert, wordt de lus beëindigd. Ten slotte wordt de totale som weergegeven.

JavaScript doet … terwijl Loop

De syntaxis van do… whileloop is:

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

Hier,

  1. De body van de lus wordt eerst uitgevoerd. Vervolgens wordt de toestand geëvalueerd.
  2. Als de voorwaarde evalueert naar true, wordt de body van de lus in de doinstructie opnieuw uitgevoerd.
  3. De toestand wordt nogmaals geëvalueerd.
  4. Als de voorwaarde evalueert naar true, wordt de body van de lus in de doinstructie opnieuw uitgevoerd.
  5. Dit proces gaat door totdat de toestand evalueert naar false. Dan stopt de lus.

Let op : do… whileloop is vergelijkbaar met de whileloop. Het enige verschil is dat in do… whileloop, de body of loop minstens één keer wordt uitgevoerd.

Stroomschema van do… while Loop

Stroomdiagram van JavaScript do… while loop

Laten we eens kijken naar de werking van do… whileloop.

Voorbeeld 3: nummers van 1 tot 5 weergeven

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

Uitvoer

 1 2 3 4 5

Hier is hoe dit programma werkt.

Iteratie Variabel Staat: i <= n Actie
i = 1
n = 5
niet aangevinkt 1 is gedrukt. i wordt verhoogd naar 2 .
1e i = 2
n = 5
true 2 is gedrukt. i wordt verhoogd naar 3 .
2e i = 3
n = 5
true 3 is gedrukt. i wordt verhoogd naar 4 .
3e i = 4
n = 5
true 4 is gedrukt. i wordt verhoogd naar 5 .
4e i = 5
n = 5
true 6 is gedrukt. i wordt verhoogd naar 6 .
5e i = 6
n = 5
false De lus is beëindigd

Voorbeeld 4: som van positieve getallen

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

Uitgang 1

 Voer een getal in: 2 Voer een getal in: 4 Voer een getal in: -500 De som is 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 )

En whileen do… whileloops worden meestal gebruikt als het aantal iteraties onbekend is. Bijvoorbeeld,

 while (condition) ( // body of loop )

Interessante artikelen...