考虑以下代码,根据某些条件提前退出函数。
function abc() {
if (some_condition) {
message('blah');
return; // early exit
}
// otherwise do stuff
}
来到这里提出这个问题我发现Mehdi在这篇文章中的回答基本上就是我所处的位置 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())调用重复同样多的代码。
干杯
答案 0 :(得分:1)
您在abc中执行的操作可以在仅在checkCondition
为真时执行的函数中编码,例如
function checkConditionAndExecute(fn) {
if ( some condition ) {
fn();
}
}
function abc() {
checkConditionAndExecute(function () {
// this is only executed when some condition is true :)
});
}