Videos eBook Forum Kontakt

jetzt Videos kaufen
zum Lernen von HTML,
CSS und Webdesign

Jetzt das HTML-Seminar bestellen als
Video-Tutorial mit über 210 Videos:
von den Grundlagen bis zur fertigen Website
Video-Kurs HTML5, CSS & Webdesign

Video-Kurs bestellen HTML5, CSS & Webdesign
Video-Kurs bestellen HTML5, CSS & Webdesign

do … while – Schleife: auf jeden Fall 1 Mal ausführen

Der Unterschied zur while-Schleife ist, dass der Code in den geschweiften Klammern bei der do … while - Schleife auf jeden Fall einmal ausgeführt wird. Erst danach wird die Bedingung zum ersten Mal überprüft.

Der grundlegende Aufbau:

do {
    // Code innerhalb der Schleife
} while (Bedingung);

Und als JavaScript-Beispielcode:

let durchgang = 8;
do {
    console.log('Durchgang Nr. ' + durchgang);
    durchgang++;
} while (durchgang < 4);

Somit würde bei diesem Beispiel diese Schleife einmal durchlaufen und als Ausgabe käme dann:

Durchgang Nr. 8

Es ist je bereits vorneweg die Bedingung „durchgang < 4“ mit der gesetzten Variablen „durchgang = 8“ erfüllt.

Natürlich fragt sich nun jeder normaldenkende Mensch, für was man so eine Konstruktion brauchen könnte.

Erstellen wir ein sinnvolles Beispiel. Wir wollen eine Nutzereingabe durch die Anweisung prompt erfassen. Es sind aber nur bestimmte Eingaben zulässig. Erst nachdem eine korrekte Eingabe durch den Nutzer gemacht wurde, soll es im Programmablauf weitergehen.

Ansonsten soll der Nutzer automatisch wieder die Eingabeaufforderung erhalten.

do {
    nutzereingabe = prompt("Bitte Ja oder Nein eingeben");
} while ( nutzereingabe != "Ja" && nutzereingabe != "Nein");

Unsere Schleife wird auf jeden Fall einmal ausgeführt. Das ist auch notwendig, weil der Nutzer als erstes die Eingabemaske bekommen soll (ohne Eingabe kann das Programm nicht reagieren).

Allerdings wird die Schleife wieder ausgeführt, wenn die Eingabe nicht der Erwartung entspricht. Hier im Beispiel muss entweder „Ja“ oder „Nein“ eingegeben werden. Klar könnte man eine Auswahl anbieten – wichtig ist hier einfach erst einmal die grundlegende Funktionalität von do … while in Aktion zu sehen.

Unser Programm funktioniert – allerdings bekommt der Nutzer wieder und wieder die Aufforderung ohne eine weitere Erklärung, wenn er Falsches eingegeben hat. Dies können wir allerdings innerhalb unserer Schleife abfangen.

do {
    nutzereingabe = prompt("Bitte Ja oder Nein eingeben");
    if (nutzereingabe != "Ja" && nutzereingabe != "Nein") {
        alert("Es darf nur 'Ja' oder 'Nein' eingegeben werden!");
    }
} while ( nutzereingabe != "Ja" && nutzereingabe != "Nein");

Wer sich fragt, was da jetzt so viel Sinn bei „Ja“ und „Nein“ bei diesem Beispiel ergibt. Folgend eine sinnvolle Nutzungsmöglichkeit. Wir können den Benutzer ein Passwort eingeben lassen, dass verschiedene Kriterien erfüllen soll. Solange diese Kriterien (z.B. Mindestlänge, Sonderzeichen usw.) nicht erfüllt sind, kommt immer wieder die Eingabeaufforderung.

var nutzereingabe = "";
do {
    nutzereingabe = prompt("min. 8 Zeichen langes Passwort eingeben");
    if (nutzereingabe.length < 8) {
        alert("Nur "+nutzereingabe.length+" Zeichen! Min. 8 eingeben!");
    }
} while ( nutzereingabe.length < 8 );
document.write(nutzereingabe);

Soweit das zu do … while. Als dritte Schleife, die sehr häufig verwendet wird, kommt nun die for-Schleife.