Vetvenie kódu – if, else, switch
Na vetvenie vykovánavého kódu existujú v Javascripte tri spôsoby. Prvý je pomocou kľúčových slov if, else, druhý pomocou príkazu switch a tretí pomocou operátora ?:. Ten sa dá ale použiť len v jednoduchých prípadoch. V tejto časti si ich bližšie popíšeme a ukážeme príklady na ich použitie.
Konštrukcia if – else
Príkaz if nám umožňuje rozdeliť kód na dve vetvy: časť ktorá sa vykoná v prípade že je podmienka pravdivá, a časť v prípade nepravdivej podmienky – táto časť je nepovinná.
Syntax:
if(podmienka){
príkazy ak bola splnená podmienka
}
[else{
príkazy ak nebola splnená podmienka
}]
Príklad:
if(a==4) {
document.write(“a je rovne 4″);
} else {
document.write(“a je rozne od 4″);
}
V prípade ak chceme rozdeliť na viac ako dve vetvy, možeme použiť viacnásobný if else
Syntax:
if(podmienka){
príkazy
}
else if(podmienka){
príkazy
}
else if(podmienka){
príkazy
}
Príklad:
var a = 7;if(a==4) {
document.write(“a je rovne 4″);
} else if(a==7){
document.write(“a je rovne 7″);
} else {
document.write(“a nie je ani 4 ani 7″);
}
Konštrukcia switch
Tento príkaz nám umožňuje vytvoriť niekoľko alternatív vykonávaného kódu podľa obsahu porovnávanej premennej. Pre každú hodnotu premennej môžme definovať blok kódu, ktorý sa má vykonať, ak má premenná danú hodnotu. V každom bloku však musíme uviesť na konci príkaz break, inak by vykonávanie kódu pokračovalo aj v ďalšom bloku. Môžeme ho však vynechať ak je to výhodné (napríklad potrebujeme vykonať jednu akciu pre niekoľko možných hodnôt). Príkaz switch môže obsahovať aj jednu nepovinnú časť – default:za ktorou je uvedený blok kódu ktorý sa vykoná, ak sa premenná nerovná ani jednej hodnote.
Syntax:
switch(premenná){
case hodnota1:{
príkazy
break
}
case hodnota2:{
príkazy
break
}
…
case hodnotan:{
príkazy
break
}
[default:{
príkazy ktoré sa vykonajú v prípade ak nebola žiadna zhoda
break
}]
}
Príklad:
switch (a) {
case 4: { document.write(“a je rovne 4″); break; }
case 5: { document.write(“a je rovne 5″); break; }
case 6: // kedze sa v tomto case nenachadza break, vykonavanie kodu pokracuje aj do bloku case 7:
case 7: { document.write(“a je rovne 6 alebo 7″); break; }
case 8: { document.write(“a je rovne 8″); break; }
default: { document.write(“a je rozne ako 4,5,6,7,8″); }
}
Výsledok bude tento výpis:
// a je rovne 6 alebo 7