【发布时间】:2022-01-07 15:00:54
【问题描述】:
const number = prompt("Enter your number");
const txt = "You result is : ";
switch (number) {
case (number >= 80 && number <= 100):
document.write(`${txt} A+`);
break;
case (number >= 70 && number <= 80):
document.write(`${txt} A gread`);
break;
case (number >= 60 && number <= 70):
document.write(`${txt} B gread`);
break;
case (number >= 50 && number <= 60):
document.write(`${txt} C gread`);
break;
case (number >= 33 && number <= 50):
document.write(`${txt} D gread`);
break;
case (number >= 0 && number <= 33):
document.write(`${txt} Field !`);
break;
case (number > 100 || number < 0):
document.write(`It's not a valid number. Please input any valid number.`);
break;
default:
document.write(`Not input any number. Please input any number .`);
break;
}
【问题讨论】:
-
请定义“工作不完美”。与预期相比,您得到的输出是什么?
-
@HPringles 它似乎总是输出
"Not input any number. Please input any number" -
我认为这里不应该使用 switch 语句。考虑改用 if/else 吗?
-
你[不能]不应该以这种方式使用 switch 语句,每个 case 都应该是一个单独的 value,
number将与之进行比较,而不是比较本身。这绝对应该是一个 if/else。你的情况也有重叠:/ -
@pilchard 也许我没有足够强调这种
switch是多么可怕。我会全心全意地建议不要这样做并使用if/else。
标签: javascript switch-statement