WML-Tutorial
[ Inhaltsverzeichnis ]WMLScript
 Kontrollstrukturen
Einleitung
if Bedingung
while Schleife
for Schleife
break und continue


Einleitung

Wie auch in anderen Scriptsprachen / Programmiersprachen gibt es in WMLScript auch die Möglichkeit, den Ablauf eines Programmteils durch Kontrollstrukturen oder Bedingungen zu steuern. In WMLScript stehen hierfür verschiedene Möglichkeiten zur Verfügung. Mit Schleifen, wie die for- oder while- Schleife, können Programmteile mehrfach wiederholt werden. Durch die if-Bedingung kann eine Entscheidung getroffen werden, welcher Programmteil ausgeführt wird.



if Bedingung

Der allgemeine Syntax der if Bedingung sieht folgendermassen aus:

  if ( Bedingung ) 
    Anweisung1
  else
    Anweisung2
	

Das Schlüsselwort if leitet eine if Bedingung ein. Die darauffolgende,in Klammern eingeschlossene, Bedingung wird als ein Wahrheitswert bewertet. Ist der Wahrheitswert true wird die Anweisung1 ausgeführt. Ist der Wahrheitswert false oder invalid wird die Anweisung2 im else Zweig ausgeführt. Dieser zweite Zweig ( else Zweig ) ist allerdings optional. Sollen mehrere Anweisungen ausgeführt werden, dann müssen diese in einem Block mit { und } eingeschlossen sein.

Beispiel :


if ( a > b )
{
  Dialogs.alert("a ist groesser als b");
}
else
{
  Dialogs.alert("a ist kleiner oder gleich b");
}


while Schleife

Der allgemeine Syntax der while Schleife sieht folgendermassen aus:

  while ( Bedingung ) 
    Anweisung
	

Das Schlüsselwort while leitet eine while Schleife ein. Die darauffolgende,in Klammern eingeschlossene, Bedingung wird als ein Wahrheitswert bewertet. Solange die Bedingung erfüllt ist, d.h. der Wahrheitswert true ist, wird die Anweisung ausgeführt. Sollen mehrere Anweisungen ausgeführt werden, dann müssen diese in einem Block mit { und } eingeschlossen sein.

Beispiel :


var x = 10;
var sum =0;

while ( x > 0 )
{
  sum = sum + x;
  x--;	
}

for Schleife

Der allgemeine Syntax der for Schleife sieht folgendermassen aus:

  for ( Initialisierung; Bedingung; Schrittweite ) 
    Anweisung
	

Das Schlüsselwort for leitet eine for Schleife ein. In den darauffolgenden runden Klammern ( und ) sind Initialisierung, Bedingung und Schrittweite jeweils durch ein Semikolon getrennt. Bevor die Anweisung der for Schleife zum aller ersten mal ausgeführt wird, wird die Initialisierung durchgeführt. Dies geschieht nur einmal. Danach wird die Bedingung überprüft; Sie wird als Wahrheitswert interpretiert. Solange die Bedingung erfüllt ist, d.h. der Wahrheitswert true ist, wird die Anweisung ausgeführt. Sind alle Anweisungen innerhalb der for Schleife ausgeführt worden, dann wird die Schrittweite-Anweisung ausgeführt und es wird wieder die Bedingung überprüft.

Beispiel :

  var sum = 0;

  for(var i = 0; i <=10; i++)
  {
    sum = sum + i;
  }

break und continue

Mit break und continue kann das Geschehen innerhalb von for und while Schleifen kontrolliert werden. Es kann veranlasst werden, daß eine Schleife vorzeitig abgebrochen bzw. ein Schleifendurchlauf übersprungen wird.

Der Befehl break innerhalb von for oder while Schleifen beendet den kompletten Schleifendurchlauf sofort.

Beispiel :

  var sum = 0;

  for(var i = 0; i <=10; i++)
  {
    sum = sum + i;

    if ( sum > 30 ) 
      break;	
  }



Mit dem Befehl continue erzwingt man sofort den nächsten Schleifendurchlauf. Nachfolgende Anweisungen ( nach Auftreten von continue ) innerhalb der Schleife werden bei diesem Schleifendurchlauf nicht mehr ausgeführt.

Beispiel :

  var sum = 0;

  for(var i = 0; i <=10; i++)
  {
    sum = sum + i;

    if ( sum < 36 ) 
      continue;	
    
    Dialogs.alert(sum);        
  }