考虑以下代码,根据某些条件提前退出函数。
function abc() {
if (some_condition) {
message('blah');
return; // early exit
}
// otherwise do stuff
}
来这里提出这个问题,我发现迈赫迪在这篇文章中的答案基本上就是我现在的处境 jquery javascript avoid running function on condition
然而,我想模块化条件,以便我可以在很多地方使用它,我得到的最好的就是这个(我是一名长期的 PL/SQL 程序员,据我了解,这可能表明这个基于事件的世界)
function check_condition() {
if (some_condition) {
message('blah');
return false; // early exit
}
else
return true;
}
function abc() {
if (!check_condition()) {return;}
// otherwise do stuff
}
在阅读诸如this之类的文章时我意识到可能有一个更宏伟的方案,首先不进入该函数,但我想知道是否有一种更简洁的方法将消息传播到 check_condition() 之外,以便提前从 abc() 退出
我仍然觉得我通过 (!check_condition()) 调用重复了同样多的代码。
干杯
最佳答案
您在 abc 中执行的操作可以在仅当 checkCondition
为 true 时执行的函数中进行编码,例如
function checkConditionAndExecute(fn) {
if ( some condition ) {
fn();
}
}
function abc() {
checkConditionAndExecute(function () {
// this is only executed when some condition is true :)
});
}
关于javascript - JavaScript 中的提前退出模块化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28868965/