一种编程范式,即为一个编程方法。主要特征为:允许函数作为入参,也允许直接返回函数。

函数可以类比为一个“管道”,输入一个值,输出一个值,不应该有副作用。

函数式编程的理论基础为lambda演算,函数式编程在众多脚本语言中有很多应用。

Python 的函数式编程

Python 拥有函数式编程特性,其匿名函数,更是直接命名为 lambda 表达式,例如:

list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))

另外还有:高阶函数、返回函数、偏函数等函数式编程技巧。

JavaScript 的函数式编程

ref: 函数式编程入门教程 - 阮一峰的网络日志

利用一系列方法:合成、柯里化、函子等方式,将普通的编程语言转变为没有副作用的“纯函数”