javascript - JavaScript 中的提前退出模块化

标签 javascript jquery

考虑以下代码,根据某些条件提前退出函数。

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/

相关文章:

javascript - 如何在 Dynamics CRM 中使用 openForm 设置多选字段值?

javascript - 在 Google Maps javascript API v3 中持续更新矩形边界非常慢

javascript - 在 Angular 的 ngClass 条件下使用逻辑运算符

javascript - Edge 扩展的 browser.alarms 的替代品

php - 解析html的文本框/输入表单?

javascript - 棘手的 JQuery 更新图像 href 问题

jquery - 未使用 jquery 将数据发送到 Django View

javascript - Jquery UI 多次使用对象

jquery - 如何计算 json 项数?

jquery - Grails - jQuery UI 自动完成功能不起作用