柯里化 (Currying)是把接收多个参数的原函数变换成接受一个单一参数(原来函数的第一个参数的函数)并返回一个新的函数,新的函数能够接受余下的参数,并返回和原函数相同的结果。
ES6的方式实现柯里化的通用
function currying(fn,...rest1){
return function(...rest2){
//这里用apply 是为把数组形式的参数直接传入原函数 null是因为不需要改变this
return fn.apply(null,rest1.concat(rest2));
}
}
将一个sayHello函数柯里化
function sayHello(