我发现这个例子使范围与 switch 语句一起工作:
function GetText(value)
{
var result;
switch (true)
{
case ((value >= 26) && (value <= 50)):
result = ">= 26.";
break;
case ((value >= 1) && (value <= 25)):
result = "Between 1 and 25.";
break;
case (value == 0):
result = "Equals Zero.";
break;
}
return result;
}
但是,如果我修改代码并删除对值的第二次检查,该示例仍然有效:
function GetText(value)
{
var result;
switch (true)
{
case ((value >= 26)):
result = ">= 26 .";
break;
case ((value >= 1)):
result = "Between 1 and 25.";
break;
case (value == 0):
result = "Equals Zero.";
break;
}
return result;
}
所以如果我通过了 29,即使我有两个true
案例,第一个也会被选中。我的问题是 switch 语句在大多数编程语言中是如何工作的,它将从顶部开始比较,或者仅在这种情况下进行比较(这样写是好还是坏?)。