Comment allez-vous utiliser un switch case lorsque vous avez besoin tester la « a » ou « b » dans le même cas ?
Réponses
Trop de publicités?Étant donné que les autres réponses expliqué comment le faire sans réellement expliquer pourquoi cela fonctionne:
Lorsque l' switch
s'exécute, il trouve la première correspondance case
déclaration puis exécute chaque ligne de code après le commutateur jusqu'à ce qu'il touche un break
- déclaration ou de la fin de l' switch
(ou return
déclaration de laisser l'ensemble de la fonction contenante). Lorsque vous avez délibérément omettre l' break
de sorte que le code dans le cadre du prochain case
est exécuté trop que l'on appelle une chute à travers. Donc, pour l'OP de l'exigence:
switch (pageid) {
case "listing-page":
case "home-page":
alert("hello");
break;
case "details-page":
alert("goodbye");
break;
}
Oublier d'inclure break
des déclarations est assez commun de codification erreur et c'est la première chose que vous devriez regarder si votre switch
ne fonctionne pas comme vous l'espériez. Pour cette raison, certaines personnes aiment à mettre un commentaire pour dire "à l'automne par le biais de" rendre clair lorsque la rupture des déclarations ont été omis sur le but. - Je le faire dans l'exemple suivant, car il est un peu plus compliqué, et montre comment certains cas, peut inclure le code à exécuter avant de tomber-par le biais de:
switch (someVar) {
case 1:
someFunction();
alert("It was 1");
// fall through
case 2:
alert("The 2 case");
// fall through
case 3:
// fall through
case 4:
// fall through
case 5:
alert("The 5 case");
// fall through
case 6:
alert("The 6 case");
break;
case 7:
alert("Something else");
break;
case 8:
// fall through
default:
alert("The end");
break;
}
Vous pouvez également (en option) comprennent un default
de cas, qui sera exécuté si aucun des autres cas de match - si vous n'incluez pas le default
, et aucun cas de match puis rien ne se passe. Vous pouvez (en option), de l'automne jusqu'au cas par défaut.
Donc, dans mon deuxième exemple, si someVar
est de 1, il ferait appel someFunction()
et vous verriez quatre alertes alors qu'il tombe dans plusieurs cas, certains ont des alertes sous eux. Est - someVar
est de 3, 4 ou 5, vous devriez voir deux alertes. Si someVar
7 vous pouvez voir "autre Chose" et si elle est de 8 ou de toute autre valeur, vous devriez voir "La fin".