高阶函数与函数柯里化

高阶函数:如果一个函数符合下面2个规范中的 任何一个 ,那该函数就是高阶函数。

  1. A函数,接收的参数是一个函数,那么A就可以称之为高阶函数。
  2. 若A函数,调用的返回值依然是一个函数,那么A就可以称之为高阶函数。

常见的高阶函数有:

  1. Promise:  new Promise(()=>{ })
  2. setTimeout:new setTimeout(()=>{ })
  3. 数组里一些常见的函数,如arr.map()等等

函数柯里化:通过函数调用继续返回函数的方式,实现多次接收参数最后统一处理的函数编码形式。

演示函数的柯里化




    
    
    
    Document
    


高阶函数和函数的柯里化使用

之前写内联函数一直写成{this.funcName},如果写成{funcName()},会发现在创建组件时就执行了funcName函数,但是我们是希望在触发事件后执行。用高阶函数和函数的柯里化可以解决该问题。




    
    
    
    


    
    

当然我们也可以不用柯里化解决该问题,正常写待参数的函数,并且将该函数写在回调函数里,这样就不会立马执行:




    
    
    
    


    
    

你可能感兴趣的:(高阶函数,函数柯里化,js,JavaScript,react)