能确定返回值的函数就是纯函数
例如:
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)