我对在 javascript 中执行 switch 语句感到困惑

时间:2021-04-05 16:25:43

标签: javascript

我对下面的代码有点困惑,它正在将第 3 步打印到控制台

let switch; 
switch('abc'){
  case('abc'): 
    switch = 'step 1';
  case('def'): 
    switch = 'step 2';
  default: 
    switch = 'step 3';
}
console.log(switch);

2 个答案:

答案 0 :(得分:2)

问题在于您缺少阻止其执行后续代码的 break 语句

let switch; 
switch('abc'){
  case('abc'): 
    switch = 'step 1';
    break;
  case('def'): 
    switch = 'step 2';
    break;
  default: 
    switch = 'step 3';
}
console.log(switch);

将控制台日志放入 swi9tch,希望能说明这一点

switch ("abc") {
  case "abc":
    console.log("step 1 - no break");
  case "def":
    console.log("step 2 - no break");
  default:
    console.log("step 3 - no break");
}

switch ("abc") {
  case "abc":
    console.log("step 1");
    break;
  case "def":
    console.log("step 2");
    break;
  default:
    console.log("step 3");
}

答案 1 :(得分:0)

添加break后;声明,此代码仍然无效。您还需要添加诸如用户输入之类的内容,以使 switch 确定它将运行哪种情况。

相关问题