JavaScript Switch Case语句情况

时间:2017-05-10 01:45:38

标签: 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;
}

但最后3个案例输出相同的代码,我想找到一种更有条理的方式来做到这一点。有谁知道我可以用它来使它工作的好技术?类似下面的代码:

switch (command) {
  case "greeting" : { console.log('hello') } break;
  case "eat", "drink", "crunch": {console.log('so gooood') } break;
}

以前的代码不起作用,但我试图证明我正在尝试用代码做什么。基本上为命令组合了一堆值,这些值将使1个特定操作发生,而不是针对同一操作具有3个单独的情况。有谁知道我会怎么做呢?

1 个答案:

答案 0 :(得分:1)

坠落案件:

switch (command) {
  case "greeting":
    console.log('hello');
    break;

  case "eat":
  case "drink":
  case "crunch":
    console.log('so gooood');
    break;
}

switch将在第一个匹配的case 处开始运行代码并继续运行,直至遇到break这就是您放入{{}的原因1}} s,所以以下情况不会运行。如果你遗漏了break,你会得到符合预期的堕落案例。

顺便说一句,break内的{}是不必要的。