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 while
en do… while
loops.
JavaScript terwijl Loop
De syntaxis van de while
lus is:
while (condition) ( // body of loop )
Hier,
- Een
while
lus evalueert de conditie tussen haakjes()
. - Als de voorwaarde evalueert naar
true
, wordt de code in dewhile
lus uitgevoerd. - De toestand wordt opnieuw geëvalueerd.
- Dit proces gaat door totdat de toestand is
false
. - 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

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 while
lus gaat door totdat de gebruiker een negatief getal invoert. Tijdens elke iteratie wordt het door de gebruiker ingevoerde getal aan de sum
variabele 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… while
loop is:
do ( // body of loop ) while(condition)
Hier,
- De body van de lus wordt eerst uitgevoerd. Vervolgens wordt de toestand geëvalueerd.
- Als de voorwaarde evalueert naar
true
, wordt de body van de lus in dedo
instructie opnieuw uitgevoerd. - De toestand wordt nogmaals geëvalueerd.
- Als de voorwaarde evalueert naar
true
, wordt de body van de lus in dedo
instructie opnieuw uitgevoerd. - Dit proces gaat door totdat de toestand evalueert naar
false
. Dan stopt de lus.
Let op : do… while
loop is vergelijkbaar met de while
loop. Het enige verschil is dat in do… while
loop, de body of loop minstens één keer wordt uitgevoerd.
Stroomschema van do… while Loop

Laten we eens kijken naar de werking van do… while
loop.
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 while
en do… while
loops worden meestal gebruikt als het aantal iteraties onbekend is. Bijvoorbeeld,
while (condition) ( // body of loop )