纯函数的定义:
一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用(如对外部数据的改变就叫做副作用),我们就把这个函数叫做纯函数,定义简单易懂。
栗子来了,给你
- 代码1(这个栗子是纯函数)
var strA = "外部data";
var data1 = 1;
var data2 = 2;
function add(param1, param2){
// 返回的结果没有依赖于传递的参数param1,param2
// 对外部没有影响 (即便是外部传递来的数据也没有改变)
return param1 + param2;
}
add(data1, data2);
- 代码2(下边这个栗子不是纯函数)
var strA = "外部data";
var data1 = 1;
var data2 = 2;
function add(param1, param2){
// 返回的结果没有依赖于传递的参数param1,param2
// 对外部有影响,产生了副作用,不是满足纯函数
strA = "这里改变了外部数据strA"
return param1 + param2;
}
add(data1, data2);
标题
总结:
纯函数要同时满足
下边2个
条件:
- return的结果只依赖于函数的参数
- 函数里的操作不对外部产生影响,对外部数据没有副作用