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í.
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.
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:
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: