我在JavaScript中的switch语句中需要多个案例,例如:
switch (varName)
{
case "afshin", "saeed", "larry":
alert('Hey');
break;
default:
alert('Default case');
break;
}
我怎样才能做到这一点?如果在JavaScript中没有办法做类似的事情,我想知道一个跟随DRY concept的替代解决方案 .
16 回答
在此示例中,如果myVariable的值为A,B或C,则它将在“C”的情况下执行代码:
你可以使用' in '操作符......
依赖于对象/哈希调用......
所以它和javascript一样快......
享受,ZEE
如果您使用的是ES6,则可以执行以下操作:
或者对于早期版本的JavaScript,您可以这样做:
请注意,这在旧的IE浏览器中不起作用,但您可以相当容易地修补 . 有关详细信息,请参阅问题determine if string is in list in javascript .
It depends. Switch评估一次且仅评估一次 . 在匹配时,所有后续案例陈述直到'break'无论案件如何说明都会发生火灾 .
这适用于常规JavaScript
干杯 .
在节点中,您似乎可以执行此操作:
在某些情况下,这使得代码更加紧凑 .
你可以像这样写:
使用
switch
语句的fall-through功能 . 匹配的大小写将一直运行,直到找到break
(或switch
语句的结尾),因此您可以将其写为:这是完全避免
switch
语句的不同方法:在Js中为switch分配多个case我们必须定义
different case without break
,如下所示:请参阅示例单击link
我这样用:
添加和澄清Stefano的答案,您可以使用表达式以动态方式设置switch中条件的值,例如:
所以在你的问题中,你可以这样做:
虽然不是那么干......
我可以看到他们在这里有很多好的答案,但是当我们需要检查超过10个
cases
时会发生什么?这是我的方法 .在switch语句中执行多个case的另一种方法,当在函数内部时
只需切换开关状态即可