switch 语句中的不等式

aho*_*orn 2 javascript switch-statement

我刚刚开始学习 JavaScript 中的 switch 命令,并想知道是否可以构建案例以包含不等式(<><=>=),而不是等式(==)。另外,是否可以控制它是否是严格相等(===)?下面的代码甚至没有出现提示,所以我不确定我是否编码正确:

var a = prompt("Please input a number.");

switch (a) {
  case { < 1 }:
    alert("less than 1");
    break;
  case { < 2 }:
    alert("less than 2");
    break;
  case { < 3 }:
    alert("less than 3");
    break;
  default:
    alert("greater than or equal to 3");
}
Run Code Online (Sandbox Code Playgroud)

Zee*_*Zee 5

如果你这样做的话,这实际上是可能的。执行case其表达式计算结果的true

var a = +prompt("Please input a number.");

switch (true) {
    case (a<1): alert("less than 1"); 
    break;
    case (a<2): alert("less than 2");
    break;
    case (a<3): alert("less than 3");
    break;
    default: alert("greater than or equal to 3");
}
Run Code Online (Sandbox Code Playgroud)

注意:我个人认为您应该if-else为此目的使用。