Zum Inhalt

Inhaltsverzeichnis • Teil 5 - JavaScript • Ablauf • Bedingungen
⇦ Zuweisungen und Ausdrücke / Schleifen ⇨
28.07.2014 10:12:26

Bedingungen

Vergleiche

Vergleichsoperatoren

JS kennt mehrere Operatoren, um Werte miteinander zu vergleichen. Der Rückgabewert einer solchen Operation ist ein Wahrheitswert (wahr/falsch).

==
Testen ob Werte gleich (=) sind
Beispiel: "0"==0 → wahr (automatische Konvertierung!)
!=
Testen ob Werte ungleich (≠) sind
Beispiel: 1!=0 → wahr
<
Testen ob linker Wert kleiner (<) ist als rechter Wert
Beispiel: 1<0 → unwahr
<=
Testen ob linker Wert kleiner oder gleich (≤) ist als rechter Wert
Beispiel: 1<=0 → unwahr
>
Testen ob linker Wert größer (>) ist als rechter Wert
Beispiel: 1>0 → wahr
>=
Testen ob linker Wert größer oder gleich (≥) ist als rechter Wert
Beispiel: 1>=0 → wahr
===
Testen ob Werte und Typen gleich sind
Beispiel: "0"===0 → unwahr
!==
Testen ob Werte und Typen ungleich sind
Beispiel: "0"!==0 → wahr

Beispiel:

Editor - index.html
<script type="text/javascript">
var Datum = new Date();
var vormittags = ( Datum.getHours() < 13 );
alert(vormittags);
</script>

Beispielskript ausführen

Achtung: Verwechseln sie nicht den Zuweisungs­operator = und den Vergleichs­operator ==. JS gibt keinen Fehler bei der falschen Verwendung aus, da eine Zuweisung immer „wahr“ ist!

Logische Verknüpfungen

Mit den logischen Verknüpfungen können sie mehrere Wahrheitswerte (also auch Vergleiche) miteinander verknüpfen. So können sie komplexe Vergleiche mit mehreren Variablen erschaffen.

a=true; b=false;

&&
Beide Werte müssen wahr sein, damit die Verknüpfung wahr ist.
Beispiel: (a && b) → falsch
||
Der eine oder der andere Wert muss wahr sein, damit die Verknüpfung wahr ist.
Beispiel: (a || b) → wahr
!
Wenn der Wert wahr ist, wird er falsch und andersherum
Beispiel: (!a) → falsch
Beispiel: (!b) → wahr

Beispiel:

Editor - index.html
<script type="text/javascript">
var Datum = new Date();
var tagsueber = ( (Datum.getHours() > 6) && (Datum.getHours() < 18) );
alert(tagsueber);
</script>

Beispielskript ausführen

Bedingter Programmablauf

Bedingter Operator

Mit dem bedingten Operator können sie Vergleiche innerhalb eines Ausdrucks verwenden, da dieser einen Wert zurück gibt.

Wahrheitswert?Wert1:Wert2
Wenn der Wahrheitswert „wahr“ ist, dann gibt der Operator Wert1, sonst Wert2 zurück
Beispiel:
Antwort = (x == 1) ? "x ist gleich 1" : "x ist ungleich 1"

Beispiel:

Editor - index.html
<script type="text/javascript">
var Datum = new Date();
var Begruessung = "Guten " + ((Datum.getHours() > 17) ? " Abend." : " Tag.");
alert(Begruessung);
</script>

Beispielskript ausführen

Bedingte Ausführung

Auch den Programmablauf sollten sie mittels Vergleich beeinflussen können. Dazu existiert das if () {} else {} Konstrukt. Wenn (if) der Wahrheitswert des Vergleichs wahr ist, werden die Anweisungen direkt danach ausgeführt, sonst (else) die Anweisungen nach „else“. Allerdings ist der „else“-Teil optional, er muss also nicht geschrieben werden.

if (Wahrheitswert) {
  Anweisungen wenn wahr;
} else {
  Anweisungen wenn falsch;
}

Beispiel:

Editor - index.html
<script type="text/javascript">
var Datum = new Date();
var Stunde = Datum.getHours();
if (Stunde<17) {
    alert("Guten Tag");
} else {
    alert("Guten Abend");
}
</script>

Beispielskript ausführen

Alternative Ausführung

Wenn sie nicht nur zwischen „wahr“ und „falsch“ unterscheiden wollen, können sie auch per Schalter (switch) die Werte einer Variable auf bestimmte Fälle (case) prüfen. Allerdings ist ein Abbruch (break) dieser Prüfung jederzeit möglich und vielleicht auch nötig. Der Standardablauf (default) wird gewählt, wenn sonst kein Fall eingetreten ist.

switch (Eingabe) {
  case "1":
    alert("Sie haben „1“ gewählt!");
    break;
  case "2":
    alert("Sie haben „2“ gewählt!");
    break;
  case "3":
    alert("Sie haben „3“ gewählt!");
    break;
  default:
    alert("Sie haben weder „1“ noch „2“ noch „3“ gewählt!");
    break;
}

Beispiel:

Editor - index.html
<script type="text/javascript">
var Datum = new Date();
var Stunde = Datum.getHours();
switch (Stunde) {
  case 4:  case 5:  case 6:  case 7:
    alert("Guten Morgen!");
    break;
  case 8:  case 9:  case 10:  case 11:
    alert("Guten Vormittag!");
    break;
  case 12:  case 13:
    alert("Mahlzeit!");
    break;
  case 14:  case 15:  case 16:  case 17:
    alert("Guten Nachmittag!");
    break;
  case 18:  case 19:  case 20:  case 21:
    alert("Guten Abend!");
    break;
  default:
    alert("Gute Nacht!");
    break;
}
</script>

Beispielskript ausführen

Ereignisse

Zur bedingten Ausführung gehören auch sogenannte Eventhandler. Diese kennen wir schon aus HTML (<body onload="javascript:funktionsname()">. Die Funktion die diesem Handler zugewiesen wird, ruft erst dessen Ereignis auf.

windows.onload = fnname;

http://www.mediaevent.de/javascript/event-handler.html

Exception

try … catch(e) … throw

Zusammenfassung

⇦ Zuweisungen und Ausdrücke / Schleifen ⇨
Nach oben