一 函数定义:
高阶函数:一个函数可以接收其他函数作为参数,这种函数便称为高阶函数;常用高阶函数:Array: map(); reduce(); filter()等等;
函数柯理化(Currying):是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数。柯理化函数作用:https://www.jianshu.com/p/2975c25e4d71
// 普通的add函数 function add(x, y) { return x + y } // Currying后 function curryingAdd(x) { return function (y) { return x + y } } add(1, 2) // 3 curryingAdd(1)(2) // 3
二 函数式编程(FP)、响应式编程(RP)、函数响应式编程(FRP:Function Reactive Programming):函数响应式编程
函数式编程:是将所有计算都当作纯函数,没有任何副作用,没有任何突变的编程泛型。
响应式编程:是一个异步编程范式,通过处理数据流来传播在代码中做出的修改。RP代码对任何数据的更改都能做出及时的响应并更新其状态。
函数响应式编程:这是一种采用函数式编程的基础部件进行响应式编程的编程范式。FRP提出三个原则:单一数据源,状态是只读的,状态修改只能由纯函数来完成。代表应用:Redux.