从另一个函数返回一个函数是什么意思?

问题描述

javascript中从另一个函数返回一个函数是什么意思。这是否与我调用一个函数中的函数相同

function fun(c){
    let a=3;
     return function(){
        return a+c;
    }
}
let add=fun(2);
console.log(add);

。我的第二个问题是为什么这个 add 变量是一个函数

解决方法

目前,您返回的对象是函数。 在这种情况下,变量 add 包含对您必须调用的函数的引用。

,

这叫做柯里化。它允许您将参数一一应用于函数。 示例:

const add = a => b => a + b // Function that takes `a` and returns a function that adds `a` to `b`
const addThree = add(3) // bind `a` to 3. This is a function that takes `b` and adds 3 to it
console.log(addThree(1)) // now `b` is 1,it's gonna be added to `a` and return the final value

有很多关于柯里化和部分应用的文献。 Google 是您的朋友

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...