In diesem Tutorial erfahren Sie anhand von Beispielen, wie while-Schleife und do-while-Schleife ausgeführt werden.
Bei der Programmierung werden Schleifen verwendet, um einen Codeblock zu wiederholen. Wenn Sie beispielsweise eine Nachricht 100 Mal anzeigen möchten, können Sie eine Schleife verwenden. Es ist nur ein einfaches Beispiel; Mit Loops können Sie viel mehr erreichen.
Im vorherigen Tutorial haben Sie die JavaScript for-Schleife kennengelernt. Hier lernen Sie etwas über while
und do… while
Schleifen.
JavaScript während der Schleife
Die Syntax der while
Schleife lautet:
while (condition) ( // body of loop )
Hier,
- Eine
while
Schleife wertet den Zustand in der Klammer aus()
. - Wenn die Bedingung ausgewertet wird,
true
wird der Code in derwhile
Schleife ausgeführt. - Der Zustand wird erneut ausgewertet.
- Dieser Vorgang wird fortgesetzt, bis die Bedingung erfüllt ist
false
. - Wenn die Bedingung ausgewertet wird
false
, stoppt die Schleife.
Weitere Informationen zu den Bedingungen finden Sie unter JavaScript-Vergleich und logische Operatoren.
Flussdiagramm der while-Schleife

Beispiel 1: Anzeigen von Zahlen von 1 bis 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; )
Ausgabe
1 2 3 4 5
So funktioniert dieses Programm.
Wiederholung | Variable | Bedingung: i <= n | Aktion |
---|---|---|---|
1 | i = 1 n = 5 | true | 1 wird gedruckt. i wird auf 2 erhöht . |
2 .. | i = 2 n = 5 | true | 2 wird gedruckt. Ich werde auf 3 erhöht . |
3 .. | i = 3 n = 5 | true | 3 wird gedruckt. Ich werde auf 4 erhöht . |
4 .. | i = 4 n = 5 | true | 4 wird gedruckt. Ich werde auf 5 erhöht . |
5 .. | i = 5 n = 5 | true | 5 wird gedruckt. Ich werde auf 6 erhöht . |
6 .. | i = 6 n = 5 | false | Die Schleife wird beendet |
Beispiel 2: Summe nur positiver Zahlen
// 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).`);
Ausgabe
Geben Sie eine Zahl ein: 2 Geben Sie eine Zahl ein: 5 Geben Sie eine Zahl ein: 7 Geben Sie eine Zahl ein: 0 Geben Sie eine Zahl ein: -3 Die Summe ist 14.
Im obigen Programm wird der Benutzer aufgefordert, eine Nummer einzugeben.
Hier parseInt()
wird verwendet, weil prompt()
Eingaben vom Benutzer als Zeichenfolge verwendet werden. Und wenn numerische Zeichenfolgen hinzugefügt werden, verhält es sich wie eine Zeichenfolge. Zum Beispiel '2' + '3' = '23'
. So parseInt()
konvertiert einen numerischen String - Nummer.
Die while
Schleife wird fortgesetzt, bis der Benutzer eine negative Zahl eingibt. Während jeder Iteration wird die vom Benutzer eingegebene Nummer zur sum
Variablen hinzugefügt .
Wenn der Benutzer eine negative Zahl eingibt, wird die Schleife beendet. Schließlich wird die Gesamtsumme angezeigt.
JavaScript do… while-Schleife
Die Syntax der do… while
Schleife lautet:
do ( // body of loop ) while(condition)
Hier,
- Der Hauptteil der Schleife wird zuerst ausgeführt. Dann wird der Zustand ausgewertet.
- Wenn die Bedingung ausgewertet wird,
true
wird der Hauptteil der Schleife in derdo
Anweisung erneut ausgeführt. - Der Zustand wird erneut ausgewertet.
- Wenn die Bedingung ausgewertet wird,
true
wird der Hauptteil der Schleife in derdo
Anweisung erneut ausgeführt. - Dieser Vorgang wird fortgesetzt, bis die Bedingung ausgewertet wird
false
. Dann stoppt die Schleife.
Hinweis : Die do… while
Schleife ähnelt der while
Schleife. Der einzige Unterschied besteht darin, dass in der do… while
Schleife der Körper der Schleife mindestens einmal ausgeführt wird.
Flussdiagramm von do… while Loop

Mal sehen, wie die do… while
Schleife funktioniert .
Beispiel 3: Anzeigen von Zahlen von 1 bis 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);
Ausgabe
1 2 3 4 5
So funktioniert dieses Programm.
Wiederholung | Variable | Bedingung: i <= n | Aktion |
---|---|---|---|
i = 1 n = 5 | nicht geprüft | 1 wird gedruckt. i wird auf 2 erhöht . | |
1 | i = 2 n = 5 | true | 2 wird gedruckt. Ich werde auf 3 erhöht . |
2 .. | i = 3 n = 5 | true | 3 wird gedruckt. Ich werde auf 4 erhöht . |
3 .. | i = 4 n = 5 | true | 4 wird gedruckt. Ich werde auf 5 erhöht . |
4 .. | i = 5 n = 5 | true | 6 wird gedruckt. Ich werde auf 6 erhöht . |
5 .. | i = 6 n = 5 | false | Die Schleife wird beendet |
Beispiel 4: Summe der positiven Zahlen
// 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).`);
Ausgabe 1
Geben Sie eine Zahl ein: 2 Geben Sie eine Zahl ein: 4 Geben Sie eine Zahl ein: -500 Die Summe ist 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 )
Und while
und do… while
Schleifen werden normalerweise verwendet, wenn die Anzahl der Iterationen unbekannt ist. Beispielsweise,
while (condition) ( // body of loop )