Javascript的函数柯里化
Posted 珂珂kk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript的函数柯里化相关的知识,希望对你有一定的参考价值。
在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。这个技术由 Christopher Strachey 以逻辑学家 Haskell Curry 命名的,尽管它是 Moses Schnfinkel 和 Gottlob Frege 发明的。
例子
function sum(a, b, c) {
return a + b + c;
}
// 调用
sum(1, 2, 3); // 6
上述函数实现的是将a,b,c三个参数相加,改写为柯里化函数如下:
function sum(a) {
return function (b) {
return function(c) {
return a + b + c;
}
}
}
// 调用
let sum1 = sum(1);
let sum2 = sum1(2);
sum2(3); // 6
所谓柯里化就是把具有较多参数的函数转换成具有较少参数的函数的过程。
参数复用
转载自知乎:https://zhuanlan.zhihu.com/p/104874439
以上是关于Javascript的函数柯里化的主要内容,如果未能解决你的问题,请参考以下文章