我在类似于我的问题中找到了这个答案,但我仍有疑问。
使用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 ||拉里"
提前致谢!
答案 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");
}