Подтвердить что ты не робот

Javascript switch statement: Есть ли способ для двух случаев запуска одного и того же кода?

Есть ли способ назначить два разных значения для одного и того же блока кода без копирования и вставки? Например, ниже 68 и 40 должны выполнять один и тот же код, а 30 не связаны.

case 68:
   //Do something
break;

case 40:
   //Do the same thing
break;

case 30:
   //Do something different
break;

Неправильно ли думать, что что-то вроде этого должно работать (хотя это явно не так)?

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

case 30:
   //Do something else
break;
4b9b3361

Ответ 1

Просто поместите их сразу после друг друга без перерыва

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

  case 30:
    // Do stuff
  break;
}

Ответ 2

Да, вы просто помещаете связанные операторы case рядом друг с другом, например:

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

case 30:
   // Do something different
   break;

Комментарий Fallthrough существует по двум причинам:

  • Он убеждает читателей, что вы делаете это намеренно
  • Он отключает предупреждения от подобных Lint инструментов, которые вызывают предупреждения о возможном случайном провале.

Ответ 3

case 68:
case 40:
  // stuff
  break;

Ответ 5

Мы должны использовать:      условие переключения {       случай 1,2,3:       // сделай что-нибудь       случай 4,5:       // сделай что-нибудь       по умолчанию:           // сделай что-нибудь       }

Извините, не знаю, как писать код здесь, в этом редактировании. Но случай должен быть разделен запятыми.