我這個歲數的程序圓,學點東西不容易啊,不比你們精神小夥啊。
所以。
不廢話了,趕緊努力吧!
當數據需要依靠外部來源的時候,純函數的結果就得不到相同輸出,這就是副作用。
外部數據:全局變量、接口數據、用戶輸入的信息。
副作用讓純函數變得不純,使方法的通用性下降,給程序帶來安全隱患帶來不穩定性。但是副作用不可能完全禁止,所以儘量控制它發生的範圍。
示例:
// 不純函數:min的發現改變時,函數的返回結果會發生變化
let min = 18;
function getAge(age) {
return age > min;
}
// 純函數:函數裏有硬編碼,後期可以通過柯里化來解決
function checkAge(age) {
let min = 18;
return arg > min;
}
每天寫寫博客,果然就是超越自己。哈哈哈!