纯函数知识

纯函数的理解

纯函数(pure functions),只依赖你交给他的东西,不试用任何函数意外的东西,也不会影响到函数以外的东西。
透明性: 你交给他同样的值总会返回给你相同的值。

##什么是纯函数

var myname = 'fengye';
function sayHello() {
    console.log(`hello, ${myname}`);
}
sayHello();

这个不是纯函数 因为它引用了外部变量。

function sayHello(name){
    console.log(`hello, ${name}`)
}

这个也不是 因为他引用了外部的console

function sayHello(name){
    return `hello, ${name}`
}

这种函数才是。 总结一下

  1. 函数入口使用参数运算,而不修改它
  2. 函数内不修改函数外的变量,如全局变量
  3. 运算结果通过函数返回给外部(出口)