【问题标题】:My switch statement doesn't give the expected result我的 switch 语句没有给出预期的结果
【发布时间】:2021-06-20 13:20:57
【问题描述】:
let a = prompt('No?')

switch (a) {
    case 1:
        console.log('Answer 1')
        break
    case 2:
        console.log('Answer 2')
        break
}

我在 chrome 的 JavaScript 控制台中编写它,它只返回“未定义”而不是打印语句。 我做错了什么?

【问题讨论】:

  • prompt 返回一个字符串而不是数字,所以要么解析它,要么将大小写更改为字符串
  • 明白谢谢。 :)

标签: javascript switch-statement


【解决方案1】:

带有示例代码的 Krzysztof 的解决方案。

方法一(将大小写改为字符串):

let a = prompt('No?')

switch (a) {
    case '1':
        console.log('Answer 1')
        break
    case '2':
        console.log('Answer 2')
        break
    default:
        console.log('Incorrect No')
        break
}

方法二(解析为int):

let a = prompt('No?')

switch (parseInt(a,10)) {
    case 1:
        console.log('Answer 1')
        break
    case 2:
        console.log('Answer 2')
        break
    default:
        console.log('Incorrect No')
        break
}

【讨论】:

  • 为什么没有default
  • 编辑了我的答案。谢谢@charlietfl
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-23
  • 2020-05-29
  • 1970-01-01
  • 2019-06-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多