有没有办法在javascript中编写条件切换语句?
我猜不是,因为以下内容总是默认:
var raw_value = 11.0;
switch(raw_value)
{
case (raw_value > 10.0):
height = 48;
width = 36;
break;
case (raw_value > 5.0):
height = 40;
width = 30;
break;
default:
height = 16;
width = 12;
break;
}
Run Code Online (Sandbox Code Playgroud)
如果没有,我应该使用什么 - 一个长if/else语句?
谢谢 :)
Dan*_*Man 127
像这样:
var raw_value = 11.0;
switch(true) {
case (raw_value > 10.0):
height = 48;
width = 36;
break;
case (raw_value > 5.0):
height = 40;
width = 30;
break;
default:
height = 16;
width = 12;
}
Run Code Online (Sandbox Code Playgroud)
case语句中的表达式将评估为true或者false,如果符合switch条件......瞧.这些default行为就像一个else.
优点:您可以通过简单地更换反转整个逻辑true与false.使用if ... else if语句,您必须单独编辑每个if子句.
Gum*_*mbo 30
在switch语句中,switch表达式的评估值与案例的评估值进行比较.所以这里将raw_value(数字)的值与raw_value > 10.0(比较表达式)和raw_value > 5.0(比较表达式)进行比较.
因此,除非您的一个case表达式产生的数字等于11.0或者您使用该switch表达式true,否则您将始终获得默认情况.
只需使用简单if/ else代替:
var raw_value = 11.0;
if (raw_value > 10.0) {
height = 48;
width = 36;
} else if (raw_value > 5.0) {
height = 40;
width = 30;
} else {
height = 16;
width = 12;
}
Run Code Online (Sandbox Code Playgroud)