高阶函数:如果一个函数符合下面2个规范中的任何一个,那该函数就是高阶函数。
1.若A函数,接收的参数是一个函数,那么A就可以称之为高阶函数。
2.若A函数,调用的返回值依然是一个函数,那么A就可以称之为高阶函数。
常见的高阶函数有:Promise、setTimeout、arr.map()等等
通过函数调用继续返回函数的方式,实现多次接收参数最后统一处理的函数编码形式。
```javascript
function sum(a){
? return(b)=>{
? return (c)=>{
? return a+b+c
? }
? }
? }
```
函数柯里化对比
saveFormData = (dataType)=>{
return (event)=>{
this.setState({[dataType]:event.target.value})
}
}
等同于
saveFormData = (dataType,event)=>
{
this.setState({[dataType]:event.target.value})
}
原文:https://www.cnblogs.com/xiaoheiqia/p/15196517.html