Megint nem jól csináltam valamit, valamiért csak a default fut le. Segítsen valaki miért. Köszönöm.

0 értékelés
23 megtekintés
Sánta László (16 pont) kérdezte 6 napja
var ageOfGyulus = 18;

switch(ageOfGyulus){
 case ageOfGyulus < 17 : alert('Gyula nem vezethet!');
   break;
 case ageOfGyulus == 17 : alert('Gyula majdnem vezethet!');
   break;
 case ageOfGyulus > 17 : alert('Gyula vezethet!');
   break;
   default: alert('Mi van?');
}
Sánta László (16 pont) szólt hozzá 6 napja
Nagyon szépen köszönöm. Azt hittem ez a switch alkalmas valami ilyesmire is. Tévedtem. Isten vagy, hogy ilyen hamar válaszoltál.

1 Válasz

0 értékelés
Sztyopu (84 pont) válaszolta meg 6 napja
Sánta László kiválasztva 6 napja
 
Legjobb válasz

A switch-case -el nem vizsgálunk feltételeket. Nem fogja kiértékelni a "ageOfGyulus < 17" -t, egyszerűen figyelmen kívül hagyja. Itt találsz még példát.

De lehet többszörös felsorolás:

var ageOfGyulus = 13;

switch(ageOfGyulus){
 case 13:
 case 14:
 case 15:
 case 16 : alert('Gyula nem vezethet!');
   break;
 case 17 : alert('Gyula majdnem vezethet!');
   break;
 case 18 : alert('Gyula vezethet!');
   break;
   default: alert('Mi van?');
}

Ere az esetre az else if lenne megoldás.

Sztyopu (84 pont) szólt hozzá 6 napja
Még valami.
Legközelebb a kérdés címe legyen beszédesebb :)
Pl.: "JS switch nem működik" vagy "switch-case hiba - JavaScript"

A címkéknél pedig jelöld be azt az "elemet" amivel probléma van. Pl. itt most lehetne javascript, switch, switch-case

Ezekre azért van szükség, hogy ha más is belefut hasonló hibába megtalálja rá könnyebben a megoldást. (Amit a kérdésed után remélhetőleg valaki leír.)
...