如何在switch语句中使用多个case

时间:2015-06-25 22:05:12

标签: javascript

我在类似于我的问题中找到了这个答案,但我仍有疑问。

  

使用switch语句的fall-through功能。匹配的案例   将运行直到找到中断(或switch语句的结尾),   所以你可以这样写:

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

    default: 
        alert('Default case');
}

这意味着"如果varName是afshin&&赛义德&& larry",或者它意味着"如果varName是afshin || saeed ||拉里"

提前致谢!

1 个答案:

答案 0 :(得分:2)

正如之前的回答所说

  

匹配的大小写将一直运行,直到找到中断(或switch语句的结尾)

为了更好地理解这是如何工作的,请考虑以下示例:

switch (varName) {    
    case "afshin":
         alert("afshin");

    case "saeed":
         alert("saeed");

    case "larry":
        alert('larry');
        break;

    default: 
        alert('Default case');
}

由于只有“拉里”案例有休息,

如果varName ==“afshin”,您将收到3个警报(“afshin”,“saeed”,“larry”)

如果varName ==“saeed”,您将获得2个警报(“saeed”,“larry”)

如果varName ==“larry”,您将得到1个警报(“拉里”)

这就是为什么要打破你的所有案件是非常重要的,除非你绝对意味着将案件陈述下放到下一个案件。

长话短说,写作:

 case "afshin":
 case "saeed":
 case "larry":
      alert("hi");
      break;

相当于

if(varName == "afshin" || varName == "saeed" || varName == "larry"){
   alert("hi");
}