純函數

純函數的特點:

  • 對于同一參數,返回同一結果
var squareNumber = memoize(function(x) {
  return x * x;
});

squareNumber(4);
//=> 16

squareNumber(4); // returns cache for input 4
//=> 16

squareNumber(5);
//=> 25

squareNumber(5); // returns cache for input 5
//=> 25
  • 結果完全取決于傳入的參數
  • 不產生副作用

函數副作用是指函數在正常工作任務之外對外部環境所施加的影響。
函數副作用是指函數被調用,完成了函數既定的計算任務,但同時因為訪問了外部數據,尤其是因為對外部數據進行了寫操作,從而一定程度地改變了系統環境。
函數的副作用也有可能是發生在函數運行期間,由于對外部數據的改變,導致了同步運行的外部函數受到影響。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容