SELFHTML/Quickbar  JavaScript  Sprachelemente


Bedingte Anweisungen (if-else/switch)

Diese Seite ist ein Dokument mit Informationstext

 Wenn-Dann-Bedingungen mit "if"
 Einfache Entweder-Oder-Abfrage
 Fallunterscheidung mit "switch"

 

JavaScript 1.0Netscape2.0MS IE3.0 Wenn-Dann-Bedingungen mit "if"

Beispiel Anzeigebeispiel: So sieht's aus

Sie können die Ausführung von Anweisungen von Bedingungen abhängig machen.

Beispiel:

<html><head><title>TestUser</title>
<script language="JavaScript">
<!--
  var Passwort = "Traumtaenzer";
  
  UserEingabe = window.prompt("Bitte geben Sie das Passwort ein","");
  if(UserEingabe != Passwort)
    {
	 alert("Falsches Passwort!");
	 history.back();
	}
  else
    document.location.href="geheim.htm";
// -->
</script>
</head><body>
</body></html>

Erläuterung:

Mit if leiten Sie eine Wenn-Dann-Bedingung ein (if = wenn). Dahinter folgt, in Klammern stehend, die Formulierung der Bedingung. Um solche Bedingungen zu formulieren, brauchen Sie  Vergleichsoperatoren und in den meisten Fällen auch  Variablen. Für Fälle, in denen die Bedingung nicht erfüllt ist, können Sie einen "andernfalls"-Zweig definieren. Dies geschieht durch else (else = sonst).

Der Else-Zweig ist nicht zwingend erforderlich. Wenn Sie mehr als eine Anweisung unterhalb und abhängig von if oder else notieren wollen, müssen Sie die Anweisungen in geschweifte Klammern einschließen (siehe auch den Abschnitt über  Anweisungsblöcke.

Das obige Beispiel stellt eine einfache Passwortabfrage dar.

 

JavaScript 1.0Netscape2.0MS IE3.0 Einfache Entweder-Oder-Abfrage

Für einfache Entweder-Oder-Bedingungen gibt es eine spezielle Syntax, die Sie alternativ zur if/else-Anweisung verwenden können.

Beispiel:

<script language="JavaScript">
<!--
 var DuBistEin = (Antwort == "42") ? "Genie" : "Dummkopf";
 alert("Deine Antwort zeigt mir, dass Du ein " + DuBistEin + " bist!");
// -->
</script>

Erläuterung:

Eine einfache Entweder-Oder-Abrage wird mit einer Bedingung eingeleitet. Die Bedingung muß in Klammern stehen, im Beispiel (Antwort == "42"). Dahinter wird ein Fragezeichen notiert. Hinter dem Fragezeichen wird ein Wert angegeben, der aktuell ist, wenn die Bedingung erfüllt ist. Dahinter folgt ein Doppelpunkt, und dahinter ein Wert für den Fall, daß die Bedingung nicht erfüllt ist. Da es sich um Werte handelt, die für die Weiterverarbeitung nur sinnvoll sind, wenn sie in einer Variablen gespeichert werden, wird einer solchen Entweder-Oder-Abrage in der Regel eine  Variable vorangestellt, im Beispiel die Variable DuBistEin. Der Variablen wird durch diese Art von Anweisung das Ergebnis der Entweder-Oder-Abrage zugewiesen.

Um Bedingungen zu formulieren, brauchen Sie  Vergleichsoperatoren.

 

JavaScript 1.2Netscape4.0MS IE4.0 Fallunterscheidung mit "switch"

Mit if und else können Sie genau zwei Fälle unterscheiden. Wenn Sie feiner differenzieren, also zwischen mehreren Fällen unterscheiden wollen, können Sie zwar mehrere if-Abfragen hintereinander notieren, aber es gibt noch eine elegantere Möglichkeit: die Fallunterscheidung mit "switch". Diese Syntax, die aus der Programmiersprache C entlehnt ist, gibt es in JavaScript aber erst seit der Sprachversion 1.2 - ältere Browser quittieren solche Anweisungen mit einer Fehlermeldung.

Beispiel:

<script language="JavaScript">
<!--
Eingabe = window.prompt("Zahl zwischen 1 und 4","");
switch(Eingabe)
{
 case "1":
 alert("Sie sind sehr bescheiden");
 break;
 case "2":
 alert("Sie sind ein aufrichtiger Zweibeiner");
 break;
 case "3":
 alert("Sie haben ein Dreirad gewonnen");
 break;
 case "4":
 alert("Gehen Sie auf allen Vieren und werden Sie bescheidener");
 break;
 default:
 alert("Sie bleiben leider dumm");
 break;
} 
// -->
</script>

Erläuterung:

Mit switch leiten Sie eine Fallunterscheidung ein (switch = Schalter). Dahinter folgt, in runde Klammern eingeschlossen, eine Variable oder ein Ausdruck, für dessen aktuellen Wert Sie die Fallunterscheidung durchführen. Im Beispiel ist das die Variable mit dem Namen Eingabe. Diese Variable wird vor der Fallunterscheidung mit einem Wert versorgt, denn ein Dialogfenster (window.prompt()) mit einem Eingabefeld fordert den Anwender auf, eine Zahl zwischen 1 und 4 einzugeben. Der eingegebene Wert wird in Eingabe gespeichert.

Die einzelnen Fälle, die Sie abfragen möchten, werden innerhalb geschweifter Klammern notiert. Jeden einzelnen Fall leiten Sie mit case ein (case = Fall). Dahinter folgt die Angabe des Wertes, auf den Sie prüfen wollen. Die Anweisung case "1": im obigen Beispiel bedeutet dann so viel wie: 'wenn die Variable Eingabe den Wert "1" hat'. Im Beispiel wird für jeden Fall eine individuelle Meldung ausgegeben.

Wichtig ist dabei auch das Wort break am Ende jedes Falls (break = abbrechen). Wenn Sie das Wort weglassen, werden nämlich alle nachfolgenden Fälle auch ausgeführt, aber das wollen Sie ja in der Regel nicht.

Für den Fall, daß keiner der definierten Fälle zutrifft, können Sie am Ende der Fallunterscheidung den Fall default: definieren. Die darunter stehenden Anweisungen werden ausgeführt, wenn keiner der anderen Fälle zutrifft.

weiter: Schleifen (while/for/do-while)
zurück: Operatoren
 

SELFHTML/Quickbar  JavaScript  Sprachelemente

© 1998  Stefan Münz, muenz@csi.com