This question already has answers here:
What do multiple arrow functions mean in javascript?
(7个答案)
2年前关闭。
从this documentation到闭包:
我不明白如何在
我希望它两次都说
这将4加到5并返回9。同样,这里的
如果您想进一步阅读,这是JavaScript中的一个概念,称为currying。它是一种功能编程技术。
(7个答案)
2年前关闭。
从this documentation到闭包:
function makeAdder(x) {
return function(y) {
return x + y;
};
}
var add5 = makeAdder(5);
var add10 = makeAdder(10);
console.log(add5(2)); // 7
console.log(add10(2)); // 12
我不明白如何在
makeAdder(5)
中将参数作为x
接收,但是在add5(2)
中是y
。我希望它两次都说
y is undefined
。谁能解释它的运作方式? 最佳答案
当您调用makeAdder()
时,它将返回一个函数(不是值)。因此,要使用它,您将获得类似
makeAdder(4)(5)
这将4加到5并返回9。同样,这里的
makeAdder()
返回另一个函数,这就是为什么我在其后调用参数((5)
)的原因。如果您想进一步阅读,这是JavaScript中的一个概念,称为currying。它是一种功能编程技术。
07-24 09:17