一、纯函数
1.相同的输入,返回相同的输出(相同的参数,返回值必须一样)
2.不能依赖外部可以改变的数据(作用域外的对象,全局变量)
3.不能改变外部状态(不能修改入参和作用域外的变量)
4.不能含有副作用(改变数据就是一种副作用,依赖外部可以改变的数据也是副作用)
二、副作用
定义:副作用是在计算的过程中,系统状态的一种变化,或者与外部世界进行的可观察的交互。
1.依赖外部不确定性的东西,一般都带有副作用(ajax请求返回值可能是成功,也可能是失败。依赖外部变量,该变量可能会被修改。)
2.改变外部状态
总结
1.纯函数不能有副作用,且相同的输入带来相同输出
2.与外部作用域交互就带有一定的副作用
专注。
人一生最重要的是专注。 ——巴菲特