每個函數(shù)都有 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)
}
}
高階函數(shù):
在數(shù)學(xué)和計算機科學(xué)中逛拱,高階函數(shù)是至少滿足下列一個條件的函數(shù):
接受一個或多個函數(shù)作為輸入:forEach sort map filter reduce
輸出一個函數(shù):lodash.curry
不過它也可以同時滿足兩個條件:Function.prototype.bind