什么是函数柯里化?
把一个函数拆分成多个单元
function add(a,b,c) {
return a + b + c
}
var func = add.bind(undefined,100)
func(1,2) //103
var fun2 = func.bind(undefined,200);
func2(10) //310
比如 add 函数是把 abc 三个参数相加返回,
但是有时不需要把这个函数一次都调用完,
而是调用一次把前几个函数传完得到一个函数再调用再传入第三个值
然后通过 bind 方法随便传一个 undefined, 不需要绑定 this,
但是提供了额外的参数 100,
这样拿到 bind 函数以后相当于 100 会固定赋值给第一个参数也就是 a 参数,
然后再调用传入 1和 2 的时候, 1 就会分别给 b, 2 给 c,
得到结果 103