是否可以在switch case中执行if语句?或使用$.isNumeric
功能?
我已经在jsfiddle尝试了几个,它似乎没有用。
var someVar = 1;
switch(someVar){
case someVar < 0:
console.log('asdasd');
break;
}
这似乎不起作用,是另一种方式吗?
答案 0 :(得分:3)
不,您不能将条件用作案例,因为它的计算结果为布尔值,与开关不匹配,请尝试查看
var someVar = 1;
switch(false){
case someVar < 0: // false, someVar is not less than zero
console.log('asdasd');
break;
}
switch(true){
case someVar > 0: // now it's true, someVar is more than zero
console.log('asdasd');
break;
}
答案 1 :(得分:2)
Switch肯定能够评估表达式和条件:你只需要将switch正确的东西传递给它来评估:
switch ( true ) {
case someVar < 0:
console.log('asdasd');
break;
}
自表达式someVar < 0
求值为true
==值开关正在寻找时,它将起作用。
答案 2 :(得分:0)
除了其他人展示的内容外,您还可以传递表达式。
var someVar = -1;
switch(someVar < 0){
case true:
console.log('true');
break;
case false:
console.log('false');
break;
}