函数柯里化看起来是一个特别专业的名词,其实就是函数里面返回函数,是高阶函数的特殊用法。
柯里化的好处就是能够复用参数,或者说固定参数。
举个简单例子,柯里化就很好理解了。
// 未柯里化的函数
function test(a,b) {
return a + b
}
test(1,2) // 3
// 柯里化之后
function test(a) {
return function(b) {
return a + b
}
}
test(1)(2) // 3
// 柯里化实现参数复用
function test(a) {
return function(b) {
return a + b
}
}
var fn = test(1) // 这样就固定了参数a为1
fn(2) // 3
fn(3) // 4 ,,,,这样做的好处在于,如果参数a是一个很长的参数,那么这里只用传一次就好了