问题描述
javascript中从另一个函数返回一个函数是什么意思。这是否与我调用另一个函数中的函数相同
function fun(c){
let a=3;
return function(){
return a+c;
}
}
let add=fun(2);
console.log(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 是您的朋友