纯函数与高阶函数1、纯函数纯函数是【只要是同样的输入实参必定得到同样的输出返回】的函数纯函数必须遵守以下一些约束 1. 不得改写参数数据 2. 不会产生任何副作用例如网络请求、输入和输出设备 3. 不能调用 Date.now()时间依赖破坏确定性、Math.random()随机性破坏确定性等不纯的方法Redux 的 Reducer 必须是一个纯函数2、高阶函数高阶函数是【参数是函数】或【返回值是函数】的函数常见的高阶函数如下 1. 定时器设置函数 2. 数组的 forEach / map / filter / reduce / find / bind 方法 3. Promise高阶函数能实现更加动态, 更加可扩展的功能