高阶函数及函数柯里化的概念
高阶函数:A函数接收的参数或者返回值是一个函数,则A为高阶函数
柯里化:通过函数调用继续返回函数的方式,实现多次接收参数最后统一处理的函数编码形式
维基百科的解释是:把接收多个参数的函数变换成接收一个单一参数(最初函数的第一个参数)的函数,并返回接受剩余的参数而且返回结果的新函数的技术。其由数学家Haskell Brooks Curry提出,并以curry命名。
简单的说,柯里化函数持续地返回一个新函数直到所有的参数用尽为止。这些参数全部保持“活着”的状态(通过闭包),然后当柯里化链中的最后一个函数被返回和执行时会全部被用来执行。
柯里化有很多应用场景,比如在vue的computed的计算属性中传递参数:
computed:{ computeNum(){ return (num)=>{ console.log(num) } } }