Kurs: JavaScript

3.1.3 Geschachtelte if-Anweisungen

Sie können if-Anweisungen auch ineinander verschachteln. In dem folgenden Beispiel soll festgestellt werden, welches Ergebnis ein Fußballspiel hatte – Bayern München gewinnt, Hertha gewinnt oder Unentschieden.  Zunächst werden Variablen für die Anzahl der jeweils geschossenen Tore initialisiert. Anschließend wird geprüft, ob sie übereinstimmen. Wenn dies nicht der Fall ist, dann soll untersucht werden, welcher der beiden Werte größer ist.

Dabei verwenden wir wieder die im vorigen Abschnitt vorgestellte Funktion alert("Nachricht"), die eine Nachricht in einem eigenem Fenster anzeigt, statt sie direkt ins Browserfenster zu schreiben.

Geschachtelte if-Anweisung:
<script type="text/javascript">
 
  var toreBayern = 3;
  var toreHertha = 2;
  if (toreHertha == toreBayern) {
    alert("Unentschieden");
  } else {  
    alert("Es gibt einen eindeutigen Sieger.");
    if (toreHertha > toreBayern) {
      alert("Hertha hat gewonnen.");
    } else {
      alert("Bayern hat gewonnen.");
    }
  }
 
</script>
Ansehen

Wie Sie sehen, steht hier die zweite if-Anweisung innerhalb der geschweiften Klammern, die zum else der ersten if-Anweisung gehören. Das bedeutet, die zweite if-Anweisung wird nur dann betrachtet, wenn die erste Bedingung nicht erfüllt ist. Das ist hier natürlich sinnvoll, schließlich muss man nur dann einen Sieger bestimmen, wenn das Spiel nicht unentschieden ausgegangen ist. Grundsätzlich können Sie also auch komplexere Anweisungsblöcke innerhalb der Klammern von if oder else schreiben, um sie von einer Bedingung abhängig zu machen.

Übung 3.2:
Um sich die Funktionsweise der Vergleichsoperatoren noch einmal vor Augen zu führen, versuchen Sie, für toreHertha und toreBayern verschiedene Werte einzusetzen.