javascript - 在什么情况下你会使用一个返回另一个函数的函数(Javascript)?

标签 javascript function

感谢this question我了解一个函数如何使用两组括号以及一个函数如何返回另一个在返回后立即触发的函数。

我不明白的是为什么知道这个好?如何应用它来解决问题?

示例:

function add(x){    
  return function(y){
    return x + y;
  };
}

add(3)(4) === 7; // true

工作正常 - 当然。但为什么不直接这样写呢?

function add(a, b) {
  return a + b;
}

add(3, 4) === 7; // true

最佳答案

让我们使用您提到的相同代码。

    function add(x) {    
      return function(y) {
        return x + y;
      };
    }

    var adder3 = add(3); //Forming adder3
    var op1 = adder3(4)  // 7
    var op1 = adder3(5)  // 9

    // Now adder 10:
    var adder10 = add(10);  //Forming adder3
    var op1 = adder10(4)  // 14
    var op1 = adder10(5)  // 15;

希望你明白!!

如果您需要有关关闭的更多信息,请回复我。

关于javascript - 在什么情况下你会使用一个返回另一个函数的函数(Javascript)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34348842/

相关文章:

javascript - Handlebars 访问嵌套属性

javascript - 错误 var 未定义 - 但在使用之前已定义 -

javascript - 如何使用按钮切换图像可见性?

javascript - 删除 css 中未使用的类

javascript - Socket.IO 在 Express 4 路由上发出

javascript捕获并篡改http请求

javascript - 如何测试 JavaScript SVG/Canvas 应用程序?

excel - 比较 Excel VBA 中的两列(大于/小于或等于)

arrays - 在 golang 中定义一个返回可变大小 slice 的函数

c++ - 如何将不同大小的数组传递给我的 C++ 函数?