JavaScript开关Case语句情况
我有以下代码:JavaScript开关Case语句情况,javascript,switch-statement,Javascript,Switch Statement,我有以下代码: switch (command) { case "greeting": { console.log('hello'); } break; case "eat": { console.log('so gooood'); } break; case "drink": { console.log('so gooood'); } break; case "crunch": { console.log('so gooood'); } break; } switch (co
switch (command) {
case "greeting": { console.log('hello'); } break;
case "eat": { console.log('so gooood'); } break;
case "drink": { console.log('so gooood'); } break;
case "crunch": { console.log('so gooood'); } break;
}
switch (command) {
case "greeting" : { console.log('hello') } break;
case "eat", "drink", "crunch": {console.log('so gooood') } break;
}
但最后3个案例输出的是相同的代码,我想找到一种更有条理的方法。有没有人知道我可以用什么好方法让它工作?类似于以下代码:
switch (command) {
case "greeting": { console.log('hello'); } break;
case "eat": { console.log('so gooood'); } break;
case "drink": { console.log('so gooood'); } break;
case "crunch": { console.log('so gooood'); } break;
}
switch (command) {
case "greeting" : { console.log('hello') } break;
case "eat", "drink", "crunch": {console.log('so gooood') } break;
}
前面的代码不起作用,但我试图演示如何使用该代码。基本上,将命令的一组值组合起来,使一个特定的操作发生,而不是为同一个操作设置三个单独的案例。有人知道我该怎么做吗?失败案例:
switch (command) {
case "greeting":
console.log('hello');
break;
case "eat":
case "drink":
case "crunch":
console.log('so gooood');
break;
}
开关将在第一个匹配的情况下开始运行代码,并继续运行,直到遇到中断。这就是你暂停的原因,所以以下情况不会发生。如果你没有休息,你会遇到意想不到的失败案例
顺便说一句,{}内部案例是不必要的。您可以通过阅读开关手册轻松回答这个问题:谢谢@deceze的回复,我不认为这是其中的一种情况。我不认为switch中有一个内置的方法来完成这项工作,尽管如果使用条件和黑客技巧来完成这项工作,有时在尝试做更复杂的事情时,你会忘记简单的解决方案,这就是为什么我觉得它没有被反驳,尽管我理解你的推理。当时限结束时,我会给你一个公认的答案。