網(wǎng)站建設(shè)與管理簡單么岳陽網(wǎng)站設(shè)計(jì)
什么是純函數(shù)
純函數(shù)是這樣一種函數(shù),即相同的輸入,永遠(yuǎn)會得到相同的輸出的函數(shù),而且沒有任何可觀察的副作用。??
什么是副作用
副作用是在計(jì)算結(jié)果的過程中,系統(tǒng)狀態(tài)的一種變化,或者與外部世界進(jìn)行的可觀察的交互。?
個(gè)人理解:導(dǎo)致這個(gè)函數(shù)相同的輸入,會產(chǎn)生不一樣的輸出,就是副作用
var minimum = 21;
var checkAge = function (age) {return age >= minimum;
};//純的
var checkAge = function (age) {var minimum = 21;return age >= minimum;
};
在不純的版本中,checkAge的結(jié)果將取決于minimum這個(gè)可變變量的值。換句話說,全局作用域下的minimum改變之后,會影響checkAge的結(jié)果。在純的版本中,minimum值被限定在函數(shù)作用域中,外部無法直接修改,所以函數(shù)結(jié)果只會和參數(shù)age有關(guān)。副作用在react上的體現(xiàn)
副作用在react(或前端框架)上的體現(xiàn)及意譯:
1、用戶交互? ?
點(diǎn)擊了按鈕,修改了頁面標(biāo)題,就是用戶交互?副作用。
2、同步數(shù)據(jù)源
?
?將外部的數(shù)據(jù)源同步到內(nèi)部數(shù)據(jù)源,這些請求,定時(shí)器就是 副作用
總結(jié): 副作用在前端框架里的體現(xiàn)跟上面?什么是純函數(shù)?什么是副作用 的意思可能有點(diǎn)不太一樣。