每个函数都有 return
如果你不写 return,就相当于写了 return undefined
柯里化:将 f(x,y) 变成 f(x=1)(y) 或 f(y=1)x
//柯里化之前
function sum(x,y){
return x+y
}
//柯里化之后
function addOne(y){
return sum(1, y)
}
//柯里化之前
function Handlebar(template, data){
return template.replace('{{name}}', data.name)
}
//柯里化之后
function Handlebar(template){
return function(data){
return template.replace('{{name}}', data.name)
}
}
![](https://img.haomeiwen.com/i5037851/12d1ced7b02402d7.png)
![](https://img.haomeiwen.com/i5037851/5e039e0e1066cec3.png)
高阶函数:
在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:
接受一个或多个函数作为输入:forEach sort map filter reduce
输出一个函数:lodash.curry
不过它也可以同时满足两个条件:Function.prototype.bind
![](https://img.haomeiwen.com/i5037851/5f1c1cf24c2107d9.png)
![](https://img.haomeiwen.com/i5037851/b9823c6e1eb79860.png)
网友评论