Javascript 在交换机中嵌套if/else是否有效?
这有效吗Javascript 在交换机中嵌套if/else是否有效?,javascript,Javascript,这有效吗 switch(foo) { case 'bar': if(raz == 'something') { // execute } else { // do something else } break; ... default: // yada yada } 对。您试过了吗?如果您确实需要,您可以以更好的方式组合开关和if: switch (true) { case (foo ===
switch(foo) {
case 'bar':
if(raz == 'something') {
// execute
} else {
// do something else
}
break;
...
default:
// yada yada
}
对。您试过了吗?如果您确实需要,您可以以更好的方式组合
开关和if
:
switch (true) {
case (foo === 'bar' && raz === 'something'):
// execute
break;
case (foo === 'bar'):
// do something else
break;
default:
// yada yada
}
很抱歉恢复了这样一个旧帖子,但它可能会帮助来这里的人了解如何组合或嵌套开关
和if
语句。并且您也可以使用三元if
封装在return
语句中
switch(foo) {
case 'bar':
return(
(raz == 'something') ?
// excute
:
// do something else
)
break;
...
default:
// yada yada
}
尝试一些东西并让它工作并不一定意味着它是有效的。它可能只是从裂缝中掉落的东西,但并不合适。在网络世界中,很多东西都不是“有效”的标记或代码,但它们以某种方式发挥作用。我认为,JavaScript并不是一种巫毒魔法。与案例相关的语句可以是任何东西——我还没有看到反例。@karim79&Bertrand Marron——我在以前编写的一些代码中尝试过它。它不起作用,但我想可能是因为别的原因。我把它改成了纯if/else,并做了其他的改变。可能是其他的改变让它开始工作,而不是对if/else的改变。还有,万一(哈哈)有人感兴趣。这没有任何意义。您只需使用if/elseif语句并移除周围的开关盒……这是有意义的。在每个案例中使用返回
时,您可以跳过中断代码>,它可以非常可读地替换长if/else
语句。如果满足一个条件,if-else语句将自动中断。。。