柯里化:

柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,
并且返回接受余下的参数且返回结果的新函数的技术。

另一种叫法:部分计算函数。

柯里化使用了递归,闭包,高阶函数等技术。

高阶函数:接受一个函数类型的参数或者返回一个函数的函数。
// 普通的add函数
function add(x, y) {
return x + y;
};
// Currying后
function curryingAdd(x) {
return function (y) {
return x + y;
}
}
add(1, 2); // 3
curryingAdd(1)(2); // 3