web-dev-qa-db-fra.com

Instruction de commutation Javascript: existe-t-il un moyen pour deux cas d'exécuter le même code?

Est-il possible d'assigner deux valeurs de casse différentes au même bloc de code sans copier-coller? Par exemple, en dessous de 68 et 40 doivent exécuter le même code, tandis que 30 n'est pas lié.

case 68:
   //Do something
break;

case 40:
   //Do the same thing
break;

case 30:
   //Do something different
break;

Est-il incorrect de penser que quelque chose comme cela devrait fonctionner (même si cela ne fonctionne manifestement pas)?

case 68 || 40:
   //Do something
break;

case 30:
   //Do something else
break;
50
nipponese

Il suffit de les mettre l'un après l'autre sans pause

switch (myVar) {
  case 68:
  case 40:
    // Do stuff
  break;

  case 30:
    // Do stuff
  break;
}
139
klaustopher

Oui, vous venez de placer les déclarations case connexes les unes à côté des autres, comme suit:

case 40:  // Fallthrough
case 68:
   // Do something
   break;

case 30:
   // Do something different
   break;

Le commentaire Fallthrough existe pour deux raisons:

  • Cela rassure les lecteurs humains que vous le faites délibérément
  • Il supprime les avertissements des outils similaires à ceux de la charpie qui émettent des avertissements sur les risques d'erreur.
18
RichieHindle
case 68:
case 40:
  // stuff
  break;
4
BNL

Les cas de commutation peuvent être matraqués comme indiqué dans le Dig.

En outre, il n'est pas limité à deux cas, vous pouvez l'étendre à n'importe quel non. des cas.

0
RkHirpara