纯函数

纯函数的特点:

  • 对于同一参数,返回同一结果
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
  • 结果完全取决于传入的参数
  • 不产生副作用

函数副作用是指函数在正常工作任务之外对外部环境所施加的影响。
函数副作用是指函数被调用,完成了函数既定的计算任务,但同时因为访问了外部数据,尤其是因为对外部数据进行了写操作,从而一定程度地改变了系统环境。
函数的副作用也有可能是发生在函数运行期间,由于对外部数据的改变,导致了同步运行的外部函数受到影响。

你可能感兴趣的:(纯函数)