Wenn - sonst
Mit if
können Sie Sie Abfragen, ob eine Bedingung zutrifft um dann eine Anweisung auszuführen.
Mit else
kann dann eine Anweisung definiert werden, wenn diese Bedingung nicht zutrifft.
<script>
var Jetzt = new Date() ;
var Jahr = Jetzt.getYear() ;
var Tage = 28 ;
if (Jahr < 999) Jahr += 1900;
if(Jahr%4==0) Tage++;
if(Jahr%100==0) Tage--;
if(Jahr%400==0) Tage++;
if(Tage==28) {
document.write( "Dieses Jahr ist kein Schaltjahr") ;
} else {
document.write( "Dieses Jahr ist ein Schaltjahr") ;
}
</script>
Das ganze sieht so aus
In diesem Beispiel wird berechnet, ob das aktuelle Jahr ein Schaltjahr ist. Mit if (Jahr < 999) Jahr += 1900
wird geprüft, ob das errechnete Jahr kleiner ist als 999 (z.B. 99); ist dieses der Fall, werden 1900 dazuaddiert (also 1999).
Mit if(Jahr%4==0) Tage++
wird die Variable Tage
um eins erhöht, wenn das Jahr durch 4 teilbar ist.
Ist das aktuelle Jahr durch 100 teilbar (if(Jahr%100==0) Tage--;
), ist das Jahr kein Schaltjahr (z.B. 1900 oder 2100),
also wird tage
wieder um eins verringert. Zum Schluss wird noch abgefragt, ob das Jahr durch 400 teilbar ist
(if(Jahr%100==0) Tage--;
), denn dann ist es wieder ein Schaltjahr (z.B. 2000). Haben wir ein Ergebnis bei Tage
von 28 erscheint aus den Bildschirm Dieses Jahr ist kein Schaltjahr
ansonsten wird, mit else
definiert,
Dieses Jahr ist ein Schaltjahr
ausgegeben.
Entweder oder
Statt if else
kann bei einfachen Entweder-oder-Bedingungen auch folgender Syntax genommen werden.
<!DOCTYPE HTML>
<html lang="de">
<head>
<title>Test</title>
<meta charset="utf-8">
<script>
function Antwort () {
var Ergebnis = (document.Formular.Eingabe.value < 18) ?
"Minderjährig!" : "Erwachsen!" ;
document.Formular.Eingabe.value = "Sie sind " + Ergebnis;
}
</script>
</head>
<body>
<h1>Geben Sie Ihr alter ein</h1>
<form name="Formular">
<input type="text" name="Eingabe" size="40">
<input type="button" value="OK" onclick="Antwort()">
</form>
</body>
</html>
Das ganze sieht so aus
Dieses Beispiel hat eine Funktion, die durch durch ein Button im Formular aufgerufen wird. Haben Sie eine Zahl kleiner
als 18 eingegeben, wird in der Variable Ergebnis
Erwachsen, ansonsten Minderjährig gespeichert.
Anschließend wird das Ergebnis in das Faormularfeld zurück gegeben.
Fallunterscheidung
Für komplexere Abfragen steht Ihnen der Syntax switch
zur Verfügung. Statt mit if else
,
mit der nur zwischen zwei Fällen unterschieden werden, können Sie hiermit mehrere Fälle unterscheiden.
<script type="text/javascript">
var Eingabe = window.prompt("Gebe eine Zahl zwischen 1 und 3 ein:", "");
switch (Eingabe) {
case "1":
document.write("Sie haben die Zahl EINS eingegeben") ;
break;
case "2":
document.write("Sie haben die Zahl ZWEI eingegeben") ;
break;
case "3":
document.write("Sie haben die Zahl DREI eingegeben") ;
break;
default:
document.write("Können Sie nicht bis drei zählen") ;
break;
}
</script>
Das ganze sieht so aus
Mit switch
wird eine Fallunterscheidung eingeleitet. In einer runden Klammer wird die Variable (hier
Eingabe
) eingegeben, dessen Wert mit case
abgefragt wird.