高阶函数与函数柯里化

68 阅读1分钟

高阶函数与函数柯里化

高阶函数

如果一个函数符合下面两个规范中的任何一个,那么该函数就是高阶函数

  1. 若A函数,接收的参数是一个函数,那么A函数就是高阶函数
  2. 若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