Weblap Hová jutunk?

A switch utasítás. 705

Több feltétel ellenőrzése a switch utasítás segítségével

Előfordul, hogy több választási lehetőséget is ellenőrizni kell.

 


 

1.Példa:
Ha a program egyezést talál, akkor végzett, és nincs szükség további vizsgálatra.
A getDay () metódus, visszaadja a hét napjainak számát: (0-tól, 6-ig.)

<script language="JavaScript" type="text/javascript">

switch (new Date().getDay()) {
    case 0:
        nap = "Vasárnap"; document.write(nap);
        break;
    case 1:
        nap = "Hétfő"; document.write(nap);
        break;
    case 2:
        nap = "Kedd"; document.write(nap);
        break;
    case 3:
        nap= "Szerda"; document.write(nap);
        break;
    case 4:
        nap = "Csütörtök"; document.write(nap);
        break;
    case 5:
        nap = "Péntek"; document.write(nap);
        break;
    case 6:
        nap = "Szombat"; document.write(nap);
        break;
}
</script>

Megírhatjuk így is, eredmény ugyan az lesz.

<script language="JavaScript" type="text/javascript">

switch (new Date().getDay()) {
    case 0:  nap = "Vasárnap";      break;
    case 1:  nap = "Hétfő";         break;
    case 2:  nap = "Kedd";          break;
    case 3:  nap = "Szerda";        break;
    case 4:  nap = "Csütörtök";     break;
    case 5:  nap = "Péntek";        break;
    case 6:  nap = "Szombat";       break;
}
document.write("Ma, "+nap+" van");
</script>

Fenti programunk eredménye:

 


 

 

A default:
Minden switch ellenőrzésben elhelyezhetjük, a case meghatározásokat követően.
Feladata, ha a case feltételek közül egyik sem teljesül, akkor itt, meghatározhatjuk, hogy ilyen esetben, mi legyen a következő feladat.

Tetszőleges értéket ellenőrizhetünk, hogy a "switch" utasítás "case" ágaiban általunk megadott értékeknek megfelel, vagy sem.

Példa:
Négyen dolgoznak a brigádban: Pista, János, Ferenc, Gábor,
Munkakezdéskor, mindenki beírja a nevét, és megkapja a feladatát.
Teszteléshez, írjuk be a nevet. (Példában a "Pista" név, kis betűvel lett beírva: pista.)

<script language="JavaScript" type="text/javascript">
var teendo = "pista";
switch (teendo) {
	case "Pista":
		document.write("Pista feladata: Fűnyírás.");
		break;
	case "János":
		document.write("János feladata: Sövénynyírás.");
		break;		
	case "Ferenc":
		document.write("Ferenc feladata: Lomtalanítás.");
		break;
	case "Gábor":
		document.write("Gábor feladata: Kerítés festése.");
		break;
   default:
    document.write("Ezt adtad meg: "+teendo+"<br />Ilyen nevű brigádtag nincs!<br />
	             Vagy, nem tudod leírni helyesen a neved?");
}
</script>

A fenti programunk eredmény:

 


 

Az üres case - ág

Meghatározhatunk olyan értéket, melynek bekövetkezésekor a program azonnal kilép.
Ennél a meghatározásnál üresen marad a case ág, és a break utasításra, befejeződik a további feltételek vizsgálata.
Üres case ágat, lehetőleg az első helyen helyezzük el, ezzel is gyorsíthatjuk a programműködési sebességet.

Példánkban lecseréljük az "S" betűt "B" betűre, program nem ír ki semmit, további feltételeket nem ellenőrzi, még a default meghatározás sem teljesül.

<script language="JavaScript" type="text/javascript">
var orszag = "S";
switch (orszag) {
	case "B":
		break;
	case "H":
		document.write("Magyar");
		break;
	case "GB":
		document.write("Angol");
		break;
	default:
		document.write("Ilyen ország, nem szerepel a listánkban.");
		break;
}
</script>