纯函数
能确定返回值的函数就是纯函数
例如:
function pure (a) {
let b = 5 ;
return a + b
}
pure(10)
高阶函数
接收一个函数作为参数,或者返回值为一个函数
例如:
//函数一 接收了一个函数作为参数
function add(callback){
callback()
}
add(()=>console.log('调用了callback'))
//函数二 返回值为一个函数
function add(){
return function(){
console.log('调用了callback')
}
}
add()()
//函数三 接收一个函数作为参数 返回值为一个函数
function add(callback){
return callback
}
add(()=>console.log('调用了callback'))()
柯理化函数
把一个接收多个参数的函数改变成接收一个单一参数的函数,内部返回为一个可以接收余下参数的函数。柯理化函数一定是高阶函数。
例如:
//实现一个加法计算
function add(a,b){
return a+b
}
add(1,2)
//柯理化函数
function add(a){
return (b)=>{
return a+b
}
}
add(1)(2)