JS 纯函数的理解

纯函数:

1. 一个函数的返回结果只依赖于它的参数;

举个栗子:

const a = (x, y) => x + y;
console.log(a(1, 2)); // 3

上述函数a在执行过程中,返回的结果只有x, y的参数值决定,不受外部参数影响。

2. 且在执行过程里面没有副作用 。

副作用:一个函数执行过程对产生了外部可观察的变化。(修改了全局变量或修改传入的参数)

var a = 'a';

function(){
    a = 'b';
    console.log(a) //==> b
}(); //污染了变量a

console.log(a) //==> b 

上述函数改变了全局变量a, 即执行中有副作用的操作,如何避免函数执行副作用:

1. 不修改传入的参数值; 2. 函数体内不执行修改全局变量操作;3. 通过函数将执行结果返回给外部;

发布了36 篇原创文章 · 获赞 64 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/u010379595/article/details/82382886