纯函数的基本三要素:
案例 1:
1 2 3 4 5 6
// 这不是一个纯函数,因为他依赖了外部的变量`sum` var sum = 0; function add(a) { return a + sum; } add(10);
案例 2:
// 这也不是一个纯函数,因为他在运行过程中修改了外部变量`sum`的值 var sum = 1; function add(a) { sum = 2; } add(10);
案例 3:
// 这也不是一个纯函数,因为他相同参数调用时,每次的返回值都不一样 // Math.random() 返回一个随机数,每次的值都是不同的 function add(a) { return a * Math.random(); } add(10);