ES5实现高阶函数,也叫柯里化:
function add(x){
return function(y){
return x+y
}
}
var addTwo = add(2);
addTwo(3); // => 5
add(10)(11); // => 21
箭头函数函数柯里化
const add=x=>y=>{
return x+y
}
add(10)(11); //=>21
分析:
add函数接受x,返回一个函数接受y 再返回y+x。
用箭头函数实现同样功能呢?我们知道:
- 箭头函数体是表达式,并且
- 箭头函数隐式返回表达式
所以为了实现高阶函数,使箭头函数的函数体为另一个箭头函数
优势:
- 减少代码重复
- 提高代码重用性
- 更容易阅读的代码