JavaScript je skriptni jezik u kojem se mogu dogoditi situacije u kojim je potrebno granati program na jednom mjestu u više grana.
Zašto ne sada?
CDN pohrana slika i videa.
Pretvorba formata slika: webp...
Vrhunsko AI povećanje slika!
25Gb podataka.
Zašto ne sada?
Kada imamo više izraza koje trebamo ispitati možemo koristiti if...else if naredbe za izvođenje višestrukog grananja. Međutim to nije najbolje rješenje, posebno ako se unutar izraza nalazi usporedba vrijednosti samo jedne varijable.
Počevši s inačicom JavaScript 1.2 moguće je koristiti switch naredbu koja rješava taj problem i radi to mnogo brže nego niz ponavljanja if...else if naredbi.
Osnovna sintaksa switch naredbe je određivanje izraza koji treba izračunati i više različitih naredbi koje se izvršavaju ovisno o vrijednosti izraza. Interpreter provjerava svaku naredbu case sve dok izraz nije true.
Ako niti jedan ne odgovara, izvršit će se naredbe iza ključne riječi default.
Sintaksa switch case naredbe:
switch (izraz)
{
case stanje 1: naredbe;
break;
case stanje 2: naredbe;
break;
...
case stanje n: naredbe;
break;
default: naredbe;
}
Break naredba omogućava da interpreter završi s izvođenjem switch case naredbe u slučaju kada je stanje izraza jednako zadanom stanju. U slučaju izostavljanja break naredbe interpreter će nastaviti izvođenje svih naredbi unutar svih slijedećih vrijednosti stanja izraza bez ispitivanja je li stanje ispunjeno.
Primjer:
<script type="text/javascript" >
var ocjena='3';
document.write("Početak switch bloka.<br />");
switch (ocjena)
{
case '5': document.write("Ocjena izvrstan. <br />");
break;
case '4': document.write("Ocjena vrlo dobar. <br />");
break;
case '3': document.write("Ocjena dobar. <br />");
break;
case '2': document.write("Ocjena dovoljan. <br />");
break;
case '1': document.write("Ocjena nedovoljan. <br />");
break;
default: document.write("Nepostojeća ocjena. <br />")
}
document.write("Završetak switch bloka. <br />");
</script>
Primjer će dati slijedeći rezultat:
Početak switch bloka.
Ocjena dobar
Završetak switch bloka.
Slijedeći primjer prikazuje što se događa u slučaju kada ne umetnemo break naredbu:
<script type="text/javascript" >
var ocjena='3';
document.write("Početak switch bloka.<br />");
switch (ocjena)
{
case '5': document.write("Ocjena odličan. <br />");
case '4': document.write("Ocjena vrlo dobar. <br />");
case '3': document.write("Ocjena dobar. <br />");
case '2': document.write("Ocjena dovoljan. <br />");
case '1': document.write("Ocjena nedovoljan. <br />");
default: document.write("Nepostojeća ocjena. <br />")
}
document.write("Završetak switch bloka. <br />");
</script>
Primjer će dati slijedeći rezultat:
Početak switch bloka.
Početak switch bloka.
Ocjena dobar.
Ocjena dovoljan.
Ocjena nedovoljan.
Nepostojeća ocjena.
Završetak switch bloka.