javascript - 如何在 JavaScript 中中断多个 if 语句

标签 javascript

我想在匹配时中断执行 特定条件。尝试过break、goto,均无效。请指教。

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

谢谢。

最佳答案

我对你的断言 switch 感到非常困惑和else...if do“不适合[您的]用例”——这些是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 的解决方案是一个有效的竞争者。

我怀疑 if..elseswitch应该对您的场景有效 - 如果不是,也许您应该用代码中的示例更清楚地解释为什么,以帮助 StackOverflow 社区评估您的问题并帮助您找到解决方案解决方案。

关于javascript - 如何在 JavaScript 中中断多个 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40144971/

相关文章:

javascript - 具有多个参数和随机值的 Angular 自定义排序

javascript - 传递 javascript 对象属性

javascript - Google V8 的技术文档?

javascript - Nightwatch setValue 方法不起作用

javascript - 从 Jquery 中的 Div 类名获取 Id

javascript - 使用javascript从本地存储中仅删除特定项目?

javascript - 为什么我必须调用 $ (":button").button();启用JQuery UI 主题?

javascript - 在 GAS 中使用全局变量是否可取?有什么缺点吗?

javascript - Kendo 网格展开行无法正常工作

javascript - 使用 JavaScript 隐藏 H1 元素