Wikiraum

Benutzer-Werkzeuge

Webseiten-Werkzeuge


Schleifen

While

how2love.html
<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
var Eingabe = "";
var Zaehler = 1;
while (Eingabe != "how to make love" && Zaehler <= 3) {
  Eingabe = window.prompt(Zaehler + ". Versuch: Was bedeutet 'HTML'?", "");
  Zaehler++;
}
 
if (Eingabe != "how to make love") {
  document.write("<big>Lernen Sie erst mal HTML! ...<\/big>");
} else {
  document.write("<big>Fein, Sie haben verstanden worum es geht! ...<\/big>");
}
</script>
</body></html>

Erläuterung

Das Beispiel bittet den Anwender in einer while-Schleife bis zu drei mal in einem Dialogfenster (window.prompt()), die Bedeutung der Abkürzung 'HTML' einzugeben. Die Schleife kann aus zwei Gründen beendet werden: entweder der Anwender gibt die richtige Bedeutung der Abkürzung ein, oder die Variable Zaehler, die die Anzahl der Versuche mitzählt, hat einen Wert größer als 3. Wenn die Schleife beendet ist, steht also nicht fest, aus welchen der beiden möglichen Ursachen sie beendet wurde. Um das zu entscheiden, wird im Beispiel deshalb anschließend mit Hilfe einer Seite if-Abfrage nochmals überprüft, ob die Schleife deshalb beendet wurde, weil die Eingabe falsch war. Je nachdem, ob sie falsch oder richtig war, wird mit document.write ins Anzeigefenster des Browsers ein entsprechender Satz geschrieben.

Eine while-Schleife beginnt mit dem Wort while (while = solange). Dahinter folgt, in Klammern stehend, die Bedingung. Um eine Bedingung zu formulieren, brauchen Sie Seite Vergleichsoperatoren. Der Inhalt der Schleife wird solange wiederholt, wie die Schleifenbedingung wahr ist.

In der Regel enthält eine while-Schleife mehrere Anweisungen, die innerhalb der Schleife stehen. Notiere alle Anweisungen innerhalb geschweifter Klammern { und }, so wie im Beispiel (siehe auch den Abschnitt über Seite Anweisungsblöcke).

Beachte:

Achte bei while-Schleifen immer darauf, dass es mindestens eine Möglichkeit gibt, um die Schleife nach einer angemessenen Zeit zu beenden. Andernfalls erzeugst eine so genannte „Endlosschleife“, aus der der Anwender nur durch gewaltsames Beenden des WWW-Browsers herauskommt. Das ist besonders bei Online-Sitzungen im WWW sehr ärgerlich!

Um Endlosschleifen zu vermeiden, brauchst irgendetwas, das irgendwann zu einem Ausweg aus der Schleife führt. Meistens werden zu diesem Zweck so genannte „Zähler“ definiert, im Beispiel die Variable Zaehler. Diese Variable hat im Beispiel einen Anfangswert von 1 und wird innerhalb der Schleife bei jedem Durchgang mit der Anweisung Zaehler++; um 1 erhöht. Wenn im Beispiel der Zählerstand größer als 3 ist, wird abgebrochen.

Quelle: http://de.selfhtml.org/javascript/sprache/schleifen.htm

Aufgabe

Versuche, unser Zahlenratespiel ( kleiner, größer, richtig ) mit Hilfe eine While-Schleife umzusetzen. Gehe dabei von oberen Code aus. Er kommt ganz ohne Formulare aus. (Lösung)

Eine Zufallszahl kannst du so erzeugen:

zufall.js
zufallszahl = Min + parseInt( Math.random() * ( (Max + 1 ) - Min ));

Quelle: HTTP://WWW.WEB-TOOLBOX.NET/WEBTOOLBOX/MATHEMATIK/ZUFALLSZAHL-05.HTM#IXZZ3PPUEFJK8

Min = untere Grenze (Ganzzahl), Max = obere Grenze (Ganzzahl)