JavaScript while und do ... while-Schleife (mit Beispielen)

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 whileund do… whileSchleifen.

JavaScript während der Schleife

Die Syntax der whileSchleife lautet:

 while (condition) ( // body of loop )

Hier,

  1. Eine whileSchleife wertet den Zustand in der Klammer aus ().
  2. Wenn die Bedingung ausgewertet wird, truewird der Code in der whileSchleife ausgeführt.
  3. Der Zustand wird erneut ausgewertet.
  4. Dieser Vorgang wird fortgesetzt, bis die Bedingung erfüllt ist false.
  5. 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

Flussdiagramm von JavaScript 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 whileSchleife wird fortgesetzt, bis der Benutzer eine negative Zahl eingibt. Während jeder Iteration wird die vom Benutzer eingegebene Nummer zur sumVariablen 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… whileSchleife lautet:

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

Hier,

  1. Der Hauptteil der Schleife wird zuerst ausgeführt. Dann wird der Zustand ausgewertet.
  2. Wenn die Bedingung ausgewertet wird, truewird der Hauptteil der Schleife in der doAnweisung erneut ausgeführt.
  3. Der Zustand wird erneut ausgewertet.
  4. Wenn die Bedingung ausgewertet wird, truewird der Hauptteil der Schleife in der doAnweisung erneut ausgeführt.
  5. Dieser Vorgang wird fortgesetzt, bis die Bedingung ausgewertet wird false. Dann stoppt die Schleife.

Hinweis : Die do… whileSchleife ähnelt der whileSchleife. Der einzige Unterschied besteht darin, dass in der do… whileSchleife der Körper der Schleife mindestens einmal ausgeführt wird.

Flussdiagramm von do… while Loop

Flussdiagramm von JavaScript do… while-Schleife

Mal sehen, wie die do… whileSchleife 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 whileund do… whileSchleifen werden normalerweise verwendet, wenn die Anzahl der Iterationen unbekannt ist. Beispielsweise,

 while (condition) ( // body of loop )

Interessante Beiträge...