Ray-56 / Daily

每日
7 stars 1 forks source link

第三十二题:什么是高阶函数? #32

Open Ray-56 opened 4 years ago

Ray-56 commented 4 years ago

什么是高阶函数?

MMmaXingXing commented 4 years ago

高阶函数(Higher-order function)

高阶函数就是参数为函数或者返回值为函数的函数。有了高阶函数,就可以将复用的粒度降低到函数级别,相对于面向对象语言,服复用的粒度更低。

高阶函数提供了一种函数级别上的依赖注入(或反转控制机制)。比如我们现在常用的Math.cell(),这就是实际应用中已经封装好的高阶函数。很多GOF设计模式都可以使用高阶函数实现,如Visitor,Strategy,Decorator等,如Visitor就可以用高阶函数中的map()或forEach()高阶函数来替代。