Javascript 在本例中,switch语句是否从顶部开始比较案例?
我发现这个示例可以使范围与switch语句一起工作:Javascript 在本例中,switch语句是否从顶部开始比较案例?,javascript,switch-statement,Javascript,Switch Statement,我发现这个示例可以使范围与switch语句一起工作: function GetText(value) { var result; switch (true) { case ((value >= 26) && (value <= 50)): result = ">= 26."; break; case ((value >= 1) &&
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;
}
因此,如果我通过了29,即使我有两个
true
案例,第一个案例也会被选中。我的问题是switch语句在大多数编程语言中是如何工作的,它将从顶部开始比较,还是仅在这种情况下比较(这样写是好还是坏?) 开关
语句从上到下检查匹配项
发件人:
如果找到匹配项,程序将执行相关语句。如果多个案例与提供的值匹配,则会选择匹配的第一个案例,即使案例彼此不相等
我会这样做(使用
if
和else if
链):
函数GetText(值){
var结果;
如果(值==0){
result=“等于零。”;
}否则如果(值你到底为什么要使用开关来执行此操作?是的,计算顺序是从上到下。break
停止计算。@Blender:事实上我从未见过这样的习惯用法,但我觉得它可读性和趣味性很强,+1。是的,它们是从上到下计算的。如果输入51I,请检查会发生什么情况一系列的if
和else-if
语句,因为:1.您不需要将其全部封装在开关中;2.您不需要在条件后面加冒号,也不需要break;
在每个if
语句中;3.在我看来,语法更容易阅读,也不太可能犯错误(例如忘记一个:
或break
)。唯一的缺点是必须使用大括号{}
如果您的if
中有多行代码要执行,但这使它对我来说更具可读性。我想这主要是一个个人偏好问题,不在这里讨论,但您的方法很有趣。谢谢,我会接受您的回答。一般来说,您认为使用此语句或一系列if语句会更好吗更好(超过10种情况)?else if(值
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;
}
function GetText(value) {
var result;
if (value == 0) {
result = "Equals Zero.";
} else if (value <= 25) {
result = "Between 1 and 25.";
} else if (value <= 50) {
result = "Between 26 and 50.";
}
return result;
}