一种编程范式,即为一个编程方法。主要特征为:允许函数作为入参,也允许直接返回函数。
函数可以类比为一个“管道”,输入一个值,输出一个值,不应该有副作用。
函数式编程的理论基础为lambda演算,函数式编程在众多脚本语言中有很多应用。
Python 的函数式编程
Python 拥有函数式编程特性,其匿名函数,更是直接命名为 lambda 表达式,例如:
list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
另外还有:高阶函数、返回函数、偏函数等函数式编程技巧。
JavaScript 的函数式编程
ref: 函数式编程入门教程 - 阮一峰的网络日志
利用一系列方法:合成、柯里化、函子等方式,将普通的编程语言转变为没有副作用的“纯函数”