Open Ray-56 opened 5 years ago
高阶函数就是参数为函数或者返回值为函数的函数。有了高阶函数,就可以将复用的粒度降低到函数级别,相对于面向对象语言,服复用的粒度更低。
高阶函数提供了一种函数级别上的依赖注入(或反转控制机制)。比如我们现在常用的Math.cell(),这就是实际应用中已经封装好的高阶函数。很多GOF设计模式都可以使用高阶函数实现,如Visitor,Strategy,Decorator等,如Visitor就可以用高阶函数中的map()或forEach()高阶函数来替代。