在 JavaScript 中切换多个事例的开关语句

2022-08-29 22:08:53

我需要在JavaScript中的switch语句中出现多个情况,如下所示:

switch (varName)
{
   case "afshin", "saeed", "larry":
       alert('Hey');
       break;

   default:
       alert('Default case');
       break;
}

我该怎么做?如果没有办法在JavaScript中做这样的事情,我想知道一个也遵循DRY概念的替代解决方案。


答案 1

使用语句的下降功能。匹配的案例将一直运行,直到找到(或语句的末尾),因此您可以将其编写如下:switchbreakswitch

switch (varName)
{
   case "afshin":
   case "saeed":
   case "larry": 
       alert('Hey');
       break;

   default: 
       alert('Default case');
}

答案 2

这适用于常规 JavaScript:

function theTest(val) {
  var answer = "";
  switch( val ) {
    case 1: case 2: case 3:
      answer = "Low";
      break;
    case 4: case 5: case 6:
      answer = "Mid";
      break;
    case 7: case 8: case 9:
      answer = "High";
      break;
    default:
      answer = "Massive or Tiny?";
  }
  return answer;
}

theTest(9);