如何在javascript

时间:2016-10-20 03:31:40

标签: javascript

我希望在匹配时中断执行 特殊情况。试过休息,转到并没有用。请指教。

if (condition 1){
   print("1");
}
if (condition 2){
   print("2");
}
if (condition 3){
   print("3");
} 

感谢。

2 个答案:

答案 0 :(得分:2)

我很担心你的switchelse...if执行"不适合[你的]用例" - 这些是Javascript明确提供的结构你正在寻找的案例 - 评估一系列条件并在一个条件匹配时中断。通过这一措施,Lahiru Ashan的答案是有效的,对你的问题的评论也是有效的解决方案。

我能想到的唯一其他方法,如果出于某些 奇怪的 的原因,您实际上无法使用if..elseswitch代码,将所有条件放在函数中,并使用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..elseswitch应该对您的方案有效 - 如果不是,也许您应该更清楚地解释为什么他们不是,以及代码中的示例,以帮助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;
 }
}