我这个岁数的程序圆,学点东西不容易啊,不比你们精神小伙啊。
所以。
一起加油吧!
纯函数:
- 相同的输入永久会得到一个相同的输出,而且没有 副作用(副作用,我们后几节再说)
- 纯函数类似数学中的函数(用来描述输入和输出之间的关系)x=sin(y)
看一个图例:
1 ---- fun ----> 2
3 ---- fun ----> 4
5 ---- fun ----> 6
左边135是一组输入数据,右边246是一组输出数据,中间的fun就是一个纯函数,它用来描述输入获取输出的过程,或者说用来描述输入和输出的映射关系。
不明白?
不要紧,上代码。
纯函数:slice 不会改变原数组
let arr = [1, 2, 3, 4, 5];
console.log(arr.slice(0, 3));
console.log(arr.slice(0, 3));
console.log(arr.slice(0, 3));
不纯函数:splice 会改变原数组
console.log('-', arr.splice(0, 3));
console.log('-', arr.splice(0, 3));
console.log('-', arr.splice(0, 3));
自定义纯函数
function getSum(n1, n2) {
return n1 + n2;
}
console.log(getSum(1, 1));
console.log(getSum(1, 2));
console.log(getSum(1, 3));
我们看上边的自定义纯函数,其实就是我们日常开发中用到的最最最普通的函数,只不过在函数式编程中,给它定义了一个新的概念。
每天写写博客,果然就是超越自己。哈哈哈!