我希望在匹配时中断执行 特殊情况。试过休息,转到并没有用。请指教。
if (condition 1){
print("1");
}
if (condition 2){
print("2");
}
if (condition 3){
print("3");
}
感谢。
答案 0 :(得分:2)
我很担心你的switch
和else...if
执行"不适合[你的]用例" - 这些是Javascript明确提供的结构你正在寻找的案例 - 评估一系列条件并在一个条件匹配时中断。通过这一措施,Lahiru Ashan的答案是有效的,对你的问题的评论也是有效的解决方案。
我能想到的唯一其他方法,如果出于某些 奇怪的 的原因,您实际上无法使用if..else
或switch
代码,将所有条件放在函数中,并使用return
语句短路并在完成后退出函数。像这样:
function evaluateInput(inputVal) {
if (inputVal === 1){
print("1");
return;
}
if (inputVal === 2){
print("2");
return;
}
if (inputVal === 3){
print("3");
return;
}
}
x = 3
evaluateInput(x);
但是,我真的认为你需要重新审视其他可能的解决方案,因为它们是有效的,而且是更常规的方法来实现你所寻求的。 if..else
解决方案简单明了:
x = 3
if (x === 1){
print("1");
} else if (x === 2){
print("2");
} else if (x === 3){
print("3");
}
如果你有一长串条件需要评估,这看起来太多开销,那么switch
语句是一个很好的选择,在这种情况下,Lahiru Ashan的解决方案是一个有效的竞争者。 / p>
我怀疑if..else
或switch
应该对您的方案有效 - 如果不是,也许您应该更清楚地解释为什么他们不是,以及代码中的示例,以帮助StackOverflow社区评估您的问题并帮助您找到解决方案。
答案 1 :(得分:0)
尝试使用switch
,
var x = 3;
switch(x){
case 1:{
alert('one');
break;
}
case 2:{
alert('two');
break;
}
case 3:{
alert('three');
break;
}
case 4:{
alert('four');
break;
}
}