在JavaScript中切换语句多个案例

我需要JavaScript中的switch语句中的多个案例,如:

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

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

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


使用switch语句的fall-through功能。 一个匹配的情况会一直运行,直到找到一个break (或者switch语句的结尾),所以你可以这样写:

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

   default: 
       alert('Default case');
}

这适用于常规的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);

干杯。


这是完全避免switch语句的不同方法:

var cases = {
  afshin: function() { alert('hey'); },
  _default: function() { alert('default'); }
};
cases.larry = cases.saeed = cases.afshin;

cases[ varName ] ? cases[ varName ]() : cases._default();
链接地址: http://www.djcxy.com/p/4365.html

上一篇: Switch statement multiple cases in JavaScript

下一篇: Line Comments in Ruby?