Od provozovatele projektu Rychlost.CZ

switch

Definice a použití

Přepínač sloužící k větvení kódu. Funguje obdobně, jako podmínka if-else if, jen s tím rozdílem, že v případě switch se zadaný výraz načte jen jednou a poté je porovnáván se zadanými hodnotami jednotlivých větví.

Základem je deklarace switch(výraz).

Následuje definice jednotlivých podmínek, tedy větví, pomocí klíčového slova case. Kód mezi jednotlivými větvemi "propadává", pokud tedy výraz splní jednu podmínku, automaticky se provedou i větve pod původní splněnou. Tomuto chování (v určitých případech žádoucímu) lze zabránit užitím klíčového slova break, které zabrání propadnutí do další větve, a ta se tak opět standardně vyhodnotí.

Na konci celého switche se nachází větev default, která se provede, pakliže nebyla splněna žádná jiná z předchozích podmínek.

Ukázka:
Javascript
var a = 2;
var b = 21;
switch(a*b){
case 42:
document.write("forty-two");
break;
case 22:
document.write("twenty-two");
break;
default:
document.write("unknown result");
break;
}

Skript vypíše následující hodnotu:

Zde ještě příklad s propadáváním kódu jednotlivými větvemi:

Ukázka:
Javascript
var item = "apple";
switch(item){
case "bread":
case "cookie": document.write(item + " costs $1.5/piece"); break;
case "orange": document.write(item + " costs $1/kg"); break;
case "pear":
case "apple":
case "carrot": document.write(item + " costs $2/kg"); break;
default: "unknown item";
}

Skript vypíše následující hodnoty:

Podpora webových prohlížečů

Firefoxano
Internet Explorerano
Google Chromeano
Safariano
Operaano