JavaScript if-else-Anweisung

Eine bedingte Ausführung von Anweisungen oder Anweisungsblöcken kann mit dem JavaScript if-else-Konstrukt eingeleitet werden. Trifft dabei eine festgelegte Bedingung oder eine logische Verknüpfung von mehreren Bedingungen zu, so wird der entsprechende Anweisungsblock ausgeführt. Das if-else-Sprachkonstrukt existiert in JavaScript in zwei unterschiedlichen Varianten. Zum Einen können bedingte Anweisungen mit der auf dieser Seite beschriebenen Variante, bestehend aus einer mit dem reservierten Wort if eingeleiteten Abfrage, dem ein oder mehrere Bedingungen folgen, geschachtelt werden.

Die zweite Variante ist eine Vereinfachte Version der If-Anweisung und kennt nur zwei Fälle. Diese Variante wird unter einfache Entweder-oder-Bedingung beschrieben.

Wie bereits erwähnt, werden bedingte Anweisungen bzw. bedingte Anweisungsblöcke mit dem Wort if eingeleitet. Darauf folgt ein geklammerter Ausdruck, der die Bedingung zur Ausführung des entsprechenden Anweisungsblocks, darstellt. Ein Anweisungsblock wird grundsätzlich in geschweifte Klammern gesetzt. Soll lediglich eine einzige Anweisung ausgeführt werden, so können die geschweiften Klammern weggelassen werden.

Bei einer bedingten Anweisung kann zusätzlich mit dem reservierten Wort else ein Anweisungsblock festgelegt werden, der ausgeführt wird, wenn die Bedingung nicht zutrifft. Der, mit else eingeleitete, alternative Teil kann wegfallen, wenn in diesem Fall keine weiteren Schritte ausgeführt werden müssen. Eine bedingte Anweisung hat demnach folgende Form:

			if (Bedingung(en)) [{]
				Anweisung(en)
			[}]
			else [{]
				Anweisung(en)
			[}]
		
Zum Thema If-Else-Anweisung unter PHP finden Sie auch einige Beispiele unter If in PHP.

JavaScript If Beispiel 1: Bedingte Ausführung von Anweisungen mit if...else

Die folgenden Beispiele sollen die Anwendung von bedingten Anweisungen demonstrieren. Das erste Beispiel demonstriert eine einfache Abfrage und nutzt einen Anweisungsblock im If-Teil und eine einzelne Anweisung im Else-Teil.

Im zweiten Beispiel werden mehrere If-Abfragen hintereinander verarbeitet. Werden keine Klammern um die Anweisungen gesetzt, so gehört ein auf das Wort else folgendes if-else-Konstrukt komplett in den else-Teil der vorherigen Abfrage. Das letzte Else gehört dabei zur letzen If-Abfrage (if (i % 3 == 0)). Dieses Beispiel nutzt die Methode write des JavaScript-Objekts Document.

<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Variable i mit dem Wert 3 initialisieren
i = 3;
// Wenn i gleich 3 ist i um eins erhöhen und ausgeben
// Muss geklammert werden, da mehrere (2) Anweisungen ausgeführt
// werden sollen
if (i == 3) {
  i++;
  document.write ('i = ' + i);
}
// Ansonsten wird eine Meldung ausgegeben
// Hier kann die Klammerung weggelassen werden, da nur eine
// Anweisung im Else-Teil ausgeführt werden muss.
else
  document.write ('i ist nicht drei!');
// Die nächste Ausgabe gehört nicht mehr zum Else-Teil und wird
// in jedem Fall ausgeführt.
document.write ('<br><br>');


// Durch die folgende Scheife nimmt i innerhalb des Anweisungsblocks
// die Werte 1-9 an...
for (i = 1; i < 10; i++) {
  // Variable i ausgeben
  document.write ('i = ' + i + ' - ');
  // Folgende Anweisung nur ausführen, wenn i ohne Rest durch
  // zwei und durch drei teibar ist
  if (i % 2 == 0 && i % 3 == 0)
    document.write ('ist gerade und durch 3 teilbar!');
  // Anweisung nur ausführen, wenn i ohne Rest durch 2 teilbar ist
  else if (i % 2 == 0)
    document.write ('ist gerade!');
  // nur wenn durch drei teilbar
  else if (i % 3 == 0)
    document.write ('ist durch 3 teilbar!');
  // Wenn die erste Bedingung nicht zutrifft soll die nachfolgende
  // Anweisung ausgeführt werden
  else
    document.write ('ist weder gerade noch durch 3 teilbar!');
  // Jede Zeile mit einem Zeilenumbruch beenden
  document.write ('<br>');
}
// -->
</script>

Letzte Posts aus unserem Forum

Script Schrift vergrößern

Hallo wollte gerade das Script für die Schriftvergrößerung testen, aber irgendwie bekomme ich das nicht hin. Habe eine Joomla Website und dort die ... » mehr

von Gast am Donnerstag, 22. April 2010 13:32 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Donnerstag, 22. April 2010 18:05 von alm

Hallo, damit kann man nicht allzu viel anfangen. Soviel ich weiss kann es zuweilen Probleme mit Tabellen-Layouts geben. Dort werden die ... » mehr

Javascript Schriftengröße: Problem bei URL-Übergabe im IE8

Hallo, ich hab eben das Javascript zur Schriftengröße eingebaut, klappt auch wunderbar auf Firefox, aber der IE 8 hat folgendes Problem: - wenn ich ... » mehr

von horst1234 am Dienstag, 23. Februar 2010 13:06 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Dienstag, 23. Februar 2010 14:07 von horst1234

Ich hab das charset im Header geändert (wie in der beispiel.html), und schon klappt es ... » mehr

Dynamisches einfügen von Zeilen in eine Spalte

Hallo, ich möchte gerne eine Zeile zwischen zwei andere Zeilen einfügen. Leider klappt folgender Versuch noch nicht so richtig. Vielleicht kann mir ... » mehr

von Bluecaspar am Mittwoch, 10. Februar 2010 18:09 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Donnerstag, 11. Februar 2010 10:37 von Bluecaspar

Ja genau, das war der Fehler. Vielen Dank Alex. Hier der korrigierte Code: <html> <head> <title> Test ... » mehr

Fenster in Frame erzeugen

Hallo, ich würde gerne ein Fenster in einer Webseite erzeugen. Das Fenster sollte dabei auf ein Frame begrenzt sein, sich also nicht aus diesen ... » mehr

von Bluecaspar am Dienstag, 9. Februar 2010 13:57 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Mittwoch, 10. Februar 2010 09:32 von Bluecaspar

Ja hervorragend, dass ist genau das was ich möchte. Danke ... » mehr

Problem: Kombination mit Lightbox 2

Hallo, ich bin gerade dabei die Galerie mit der Lightbox 2 zu verknüpfen, da ich die Bilder im Vollformat gerne in diesem schicken aufpoppenden ... » mehr

von GoPeter am Montag, 16. November 2009 23:38 in JavaScript - bisher 16 Antworten
Letzter Beitrag: Mittwoch, 18. November 2009 00:32 von GoPeter

Soo...hat lange gedauert...aber jetzt ist es endlich ... » mehr



¬ Insolvenzrecht