我这个岁数的程序圆,学点东西不容易啊,不比你们精神小伙啊。
所以。
不废话了,赶紧努力吧!
当数据需要依靠外部来源的时候,纯函数的结果就得不到相同输出,这就是副作用。
外部数据:全局变量、接口数据、用户输入的信息。
副作用让纯函数变得不纯,使方法的通用性下降,给程序带来安全隐患带来不稳定性。但是副作用不可能完全禁止,所以尽量控制它发生的范围。
示例:
// 不纯函数:min的发现改变时,函数的返回结果会发生变化
let min = 18;
function getAge(age) {
return age > min;
}
// 纯函数:函数里有硬编码,后期可以通过柯里化来解决
function checkAge(age) {
let min = 18;
return arg > min;
}
每天写写博客,果然就是超越自己。哈哈哈!