函数式编程-纯函数
对纯函数个人的一些理解
- 引用透明性,不依赖外部的变量
- 命令式,声明式与抽象。命令式告诉程序要怎么做,声明式告诉程序要做什么
- 给一个输入会获得一个相同的输出
一段不纯的函数
var percentValue= 5;
var calculateTax = (val) => value/100 * (100 + percentValue)
数学函数的定义是函数逻辑不应该依赖外部环境,该函数不能被称为一个真正的函数
修正一下
var calculateTax = (val, percentValue) => value/100 * (100 + percentValue)
函数不会依赖外部环境的变量,这将产生可缓存,可测试的代码库