高阶函数与函数柯里化
高阶函数
如果一个函数符合下面两个规范中的任何一个,那么该函数就是高阶函数
- 若A函数,接收的参数是一个函数,那么A函数就是高阶函数
- 若A函数,调用的返回值是一个函数,那么A函数就是高阶函数
常见的高阶函数
Promise() setTimeout() // 数组的一些方法(map、filter...)
函数柯里化
通过函数调用继续返回函数的方式,实现多次接收参数最后统一处理的函数编码形式
示例
function sum(a){
return (b)=>{
return (c)=>{
return a+b+c
}
}
}
const result = sum(1)(2)(3)
console.log(result) // 6