English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript Grundtutorials

JavaScript Objekt

JavaScript Funktion

JS HTML DOM

JS Browser BOM

AJAX Grundtutorials

JavaScript Referenzhandbuch

switch-Anweisungen in JavaScript

Der "switch" ist ein bedingtes Statement wie "if ... else ...", der Unterschied liegt darin, dass der "switch"-Befehl die Übereinstimmung von Variablenwerten mit einer Werteliste testen kann.

Verwende "switch", um aus vielen auszuführenden Codeblöcken einen auszuwählen. Dies ist eine perfekte Lösung für verschachtelte "if…else"-Anweisungen.

Ein "switch"-Statement sieht so aus:

switch (expression) {
  case value1:  
    //Die Anweisung wird ausgeführt
    //Der Ausdrucksresultat entspricht value1Vereinigung
  break;
  case value2:  
    //Die Anweisung wird ausgeführt
    //Der Ausdrucksresultat entspricht value2Vereinigung
  break;
  ...
  case valueN:  
    //Die Anweisung wird ausgeführt
    //Der Ausdrucksresultat entspricht value N
  break;
  default:
   //Wenn keines der oben genannten nicht ausgeführt wird
   //Führe den Codeblock hier aus
 }

Nach der Logik des obigen Codeblocks ist dies die Reihenfolge der Ereignisse, die eintreten sollen:

  • Der "switch"-Ausdruck wird nur einmal bewertet

  • Vergleiche den Wert der Ausdrucksbedingung mit jedem Wert der Fallunterschiede

  • Führt der Treffer zu einem Codeblock aus

  • Führt keine der Bedingungen zu einem Treffer aus, führt der Standard-Codeblock aus

Der folgende Beispiel verwendet die Arbeitstag-Nummer, um den Tag der Woche zu berechnen:

var day;
switch (new Date().getDay()) {
case 0: 
 day = "Sunday";
 break;
case 1: 
 day = "Monday";
 break;
case 2: 
 day = "Tuesday";
 break;
case 3: 
 day = "Wednesday";
 break;
case 4: 
 day = "Thursday";
 break;
case 5: 
 day = "Friday";
 break;
case 6: 
 day = "Saturday";
 break;
default: 
 day = "Undefined Day";
}
Testen Sie heraus‹/›

Schlüsselwort "break"

Der Schlüsselwort "break" in Verbindung mit jedem "case"-Tag stellt sicher, dass das Programm nach Ausführung der zugehörigen Anweisungen den Wechsel verlässt und an der Stelle fortsetzt, an der der Wechsel erfolgt. Fehlt der "break", führt das Programm an der nächsten Anweisung nach dem "switch"-Statement weiter.

Wenn Sie die Pause vergessen, beginnt das Skript mit den Bedingungen, die erfüllt sind, und führt die Situationen aus, die unter den Bedingungen erfüllt sind:

var num = Number(document.querySelector("input").value);
var text;
switch (num) {
   case 1: 
    text = "Die von Ihnen eingegebene Nummer ist" 1";
   case 2: 
    text = "Die von Ihnen eingegebene Nummer ist" 2";
   case 3: 
    text = "Die von Ihnen eingegebene Nummer ist" 3";
   case 4: 
    text = "Die von Ihnen eingegebene Nummer ist" 4";
   case 5: 
    text = "Die von Ihnen eingegebene Nummer ist" 5";
   default: 
    text = "Ausführungsstandardanweisung";
}
Testen Sie heraus‹/›

Es ist nicht notwendig, den letzten Fall (d.h. default) im switch-Block zu unterbrechen, da der Anweisungsblock hier letztlich unterbrochen wird (endet).

default-Schlüssel

Falls kein case übereinstimmt, gibt der default-Schlüssel an, welche Anweisungen ausgeführt werden sollen.

Es kann nur eine Standardanweisung im switch existieren. Obwohl dies optional ist, wird empfohlen, es zu verwenden, da es unerwartete Fälle behandeln kann.

Mehrfachfälle

Manchmal möchten Sie, dass verschiedene Bedingungen denselben Code verwenden oder allgemeinen Code verwenden.

Dies ist ein Beispiel für einen switch-Anweisungsaufruf in der Reihenfolge der Operationen, bei dem vier verschiedene Werte dieselbe Operation ausführen:

var num = Number(document.querySelector("input").value);
var text;
switch (num) {
   case 1:
   case 2:
   case 3:
   case 4:
  text = "Der von Ihnen eingegebene Wert liegt zwischen den beiden Werten"; 1 - 4";
  break;
   case 5:
   case 6:
   case 7:
   case 8:
  text = "Der von Ihnen eingegebene Wert liegt zwischen den beiden Werten"; 5 - 8";
  break; 
   default: text = "Ausführungsstandardanweisung";
}
Testen Sie heraus‹/›

Falls mehrere cases mit dem Wert übereinstimmen, wird der erste case ausgewählt.

Falls kein passender case gefunden wird, wird das Programm den Standard-Tag verwenden, um fortzufahren.

Falls kein Standard-Tag gefunden wird, wird das Programm die nachfolgende Anweisung fortsetzen.