0251 / 590 644 - 0
info@a-coding-project.de

Abfragen in JavaScript

Abfragen dienen dazu, den Ablauf eines Programms bzw. einer Funktion zu steuern. Sie funktionieren alle nach dem gleichen Muster: es wird eine Bedingung gestellt und je nach dem wie diese Ausgewertet werden kann (wahr oder falsch) wird etwas ausgeführt oder eben nicht.

JavaScript 1.1 JScript 2.0 if-Abfrage

Die if-Abfrage ist die einfachste Form einer Abfrage. Sie besteht aus zwei Teilen: einer Bedingung und einer Anweisung oder einem Anweisungsblock. Die Bedingung wird hinter dem Wort if in zwei runde Klammern notiert. Die Anweisung bzw. der Anweisungsblock folgt nach der Bedingung. Ist die Aussage wahr (true), wird die Anweisung ausgeführt - ist sie falsch (false) wird sie nicht ausgeführt. Wörtlich würde solcheine Abfrage so lauten: Wenn [Bedingung] dann mache [Anweisung]. Beispiel:

a = 2;

if(a == 1)
alert('A ist 1');

if(a < 10 && a > 1)
{
 a++;
 alert('A ist '+a);

Erklärung: Es wird vorausgesetzt, dass es eine Variable a mit dem Wert 2 gibt. Die erste Abfrage würde dann mit false bewertet (da a ungleich 1 also falsch ist) und die anschließende Funktion somit nicht ausgegeben werden. Die zweite Bedingung ist etwas Komplexer und würde mit true bewertet (da a kleiner als 10 und größer als 1 ist) und somit auch der anschließende Anweisungsblock ausgeführt werden.

Bitte beachten Sie, dass Variablen oder Objekte mit dem Wert undefined oder null mit false ausgewertet werden. Ein Objekt das nicht existiert ist demnach false.

JavaScript 1.1 JScript 2.0 if-else-Abfrage

Eine if-else-Abfrage ist quasi wie eine doppelte if-Abfrage zu sehen, bei der die zweite Bedingung umgedreht wird. Solcheine Abfrage besteht aus einer normalen if-Abfrage der eine alternative Anweisung bzw. ein alternativer Anweisungsblock angehängt wird. Diese/r wird dann ausgeführt, wenn die Bedingung der if-Abfrage mit false (also falsch) bewertet wird.
Der alternative Teil wird vom Teil der if-Abfrage durch das Wort else getrennt. Eine wörtliche Wiedergabe solcheiner if-else-Abfrage könnte so lauten: Wenn [Bedingung] dann mache [if-Anweisung], ansonsten mache [else-Anweisung]. Beispiel:

a = 1;

if (a == 2) a++ else a--;

if (a == 1) { a++; a++; } else { a--; a--; }; 

Erklärung: Es wird eine Variable a mit dem Wert 1 vorausgesetzt. Die erste Abfrage fragt, ob a gleich 2 ist und wird mit false ausgewertet werden. Dies bedeutet, dass nun also nicht die Anweisung des if-Teils (a++) ausgeführt wird, sondern die des else-Teils (a--). In der zweiten Abfrage ist das gleiche nochmals mit veränderter Bedingung und Anweisungsblöcken statt Anweisungen dargestellt.

JavaScript 1.1 JScript 2.0 ? : - Konditionalabfrage

Die Konditionalabfrage ist eine vereinfachet Form der if-else-Abfrage. Sie besteht nur aus drei Teilen: der Bedingung und zwei Anweisungen bzw. Anweisungsblöcken. Nach der Bedingung muss dabei ein Fragezeichen (?) und zwischen den zwei Anweisungen bzw. -blöcken ein Doppelpunkt (:) stehen. Die Funktion ist wie bei einer if-else-Abfrage: Ist die Bedingung erfüllt, so wird die erste Anweisung ausgeführt - ist sie nicht erfüllt, wird die zweite (also die Anweisung nach dem Doppelpunkt) ausgeführt. Beispiel:

a = 1;

a == 2 ? a++ : a--; 

Erklärung: Die Abfrage kommt der aus dem Beispiel einer if-else-Abfrage gleich.

JavaScript 1.3 JScript 4.0 switch-Abfrage

Anstelle mehrerer if- oder if-else-Abfragen kann eine switch-Abfrage treten. Sie beinhaltet eine Mehrfachauswahl und kann so direkter reagieren.
Eine switch-Abfrage beginnt mit dem Wort switch, welchem in Klammern ein Objekt, eine Variable oder eine Bedingung folgt. Nach diesem Ausdruck werden, innerhalb von geschweiften Klammern, beliebig viele Marken notiert. Jede Marke stellt dabei eine Form bzw. einen Wert des Objekt dar, die/den es annehmen könnte. Eine Marke beginnt immer mit dem Wort case - danach folgt der Wert. Ein Wert kann fast alles sein - ob Text, Zahl, Objekt oder Typ. Die Marke wird mit einem Doppelpunkt (:) beendet. Nach dieser Marke folgen dann, die Anweisungen, die ausgeführt werden sollen, wenn der switch-Ausdruck komplett übereinstimmend (also gleicher Wert und gleicher Typ) mit dem Marken-Ausdruck ist. Beendet wird eine Anweisungsfolge mit dem Wort break. Zusätzlich können Alternativanweisungen definiert werden. Sie sollten hinter dem letzten break stehen und beginnen mit dem Wort default gefolgt von einem Doppelpunkt (:). Diesem schließen sich die Anweisungen an und brauchen nicht mir einem break beendet werden.
Die Funktionsweise einer solchen Abfrage ist wie folgt: Die switch-Abfrage wird von oben nach unten durchlaufen und nach einem passenden Wert durchsucht. Wird ein Wert gefunden, so werden die anschließenden Aufgaben bis zur nächsten break-Anweisung ausgeführt und die Abfrage beendet. Wird kein passender Wert gefunden, werden - falls vorhanden - die Alternativanweisungen ausgeführt. Danach ist die Abfrage beendet und das Programm wird weiter fort gesetzt. Beispiel:

a = 1;

switch (a)
{
 case 1 :
    alert('Es ist eine Eins!');
    alert('Er ist Klassenbester!');
    break;
 case 2: case 3: case 4: case 5 :
    alert('Es ist keine Eins und keine Sechs!');
    break;
 case 6 :
    alert('Es ist eine Sechs!');
    alert('Er ist durchgefallen!'); break;
 default:
    alert('Falsche Zahl!');

Erklärung: Es wird eine Variable a mit dem Wert 1 vorausgesetzt. Die Abfrage prüft, ob der Wert sowie der Typ der Marken-Ausdrücke mit dem des switch-Ausdrucks übereinstimmend sind. Im Beispiel werden demnach also die Anweisungen hinter case 1 : bis zum ersten break ausgeführt. Danach ist die Abfrage beendet.