纯函数知识
纯函数的理解
纯函数(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}`
}
这种函数才是。 总结一下
- 函数入口使用参数运算,而不修改它
- 函数内不修改函数外的变量,如全局变量
- 运算结果通过函数返回给外部(出口)