Freigeben über


if...else-Anweisung

Aktualisiert: November 2007

Führt abhängig vom Wert eines Ausdrucks eine Reihe von Anweisungen aus.

if (condition)
      statement1
[else
      statement2] 

Argumente

  • condition
    Erforderlich. Ein boolescher Ausdruck. Hat condition den Wert null oder undefined, wird condition als false behandelt.

  • statement1
    Erforderlich. Die auszuführende Anweisung, wenn condition den Wert true hat. Hierbei kann es sich um eine zusammengesetzte Anweisung handeln.

  • statement2
    Optional. Die auszuführende Anweisung, wenn condition den Wert false hat. Hierbei kann es sich um eine zusammengesetzte Anweisung handeln.

Hinweise

Im Allgemeinen ist es sinnvoll, statement1 und statement2 zur besseren Übersicht und Vermeidung von unbeabsichtigten Fehlern in geschweifte Klammern ({}) zu setzen.

Beispiel

Im folgenden Beispiel sieht es so aus, als würde die else-Anweisung mit der ersten if-Anweisung verwendet, tatsächlich bezieht sie sich aber auf die zweite.

if (x == 5)
   if (y == 6)
      z = 17;
else
   z = 20;

Die folgende Codeänderung beseitigt alle Mehrdeutigkeiten:

if (x == 5)
   {
   if (y == 6)
      z = 17;
   }
else
   z = 20;

Wenn Sie statement1 eine Anweisung hinzufügen möchten, jedoch keine geschweiften Klammern verwenden, kann dabei ein unbeabsichtigter Fehler auftreten:

if (x == 5)
   z = 7;
   q = 42;
else
   z = 19;

In diesem Fall tritt ein Syntaxfehler auf, da zwischen den Anweisungen if und else mehrere Anweisungen aufgeführt sind. Daher müssen die Anweisungen zwischen if und else in geschweifte Klammern gesetzt werden.

Anforderungen

Version 1

Siehe auch

Referenz

Bedingter (ternärer) Operator (?:)