JS 常见函数分类

一 函数定义:

高阶函数:一个函数可以接收其他函数作为参数,这种函数便称为高阶函数;常用高阶函数: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.

原文地址:https://www.cnblogs.com/terrymin/p/14615667.html