高阶函数以及函数柯里化
高阶函数以及函数柯里化
高阶函数以及函数柯里化
高阶函数:两种情况
- 若 A 函数,接收的参数是一个参数,那么 A 就可以称之为高阶函数
- 若 A 函数,调用的返回值依然是一个函数,那么 A 就可以称之为高阶函数
常见的高阶函数
- promise
- setTimeot
- 数组方法:arr.map arr.filter arr.reduce
函数的柯里化** (Curry)**
–通过函数调用继续返回函数的方式,实现多次接收参数最后统一处理的函数编码形式。(典型案例: promise)
>> 部分函数应用 vs 柯里化
经常有人搞不清柯里化和部分函数应用 ( Partial Function Application ),经常把他们混为一谈,其实这是不对的,在维基百科里有明确的定义,部分函数应用强调的是固定一定的参数,返回一个更小元的函数。通过以下表达式展示出来就明显了:
1 |
|
因此:我们可以用高级柯里化去实现部分函数应用,但是柯里化不等于部分函数应用。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!