纯函数
纯函数 什么是纯函数呢,我是在研究函数式编程时候发现的一个东西,想要知道什么是函数式编程,纯函数就是他学习的第一步。 那么就带着大家来分享一下什么是纯函数。 1-纯函数的概念 纯函数也是函数,只是相对普通的函数稍微特别了一点,概念如下: 纯函数是对相同输入返回相同输出的函数,不依赖(包含)任何外部变量,所以也不会产生改变外部环境变量的副作用。 1.1重点 通过上述概念分析得到他的重点主要集中在下面两条 1.函数的返回结果只依赖于它的参数 2.函数执行过程中没有副作用 1.2函数的返回结果只依赖于它的参数 首先第一条注意的地方。这里给大家上一段熟悉的代码,我们在js基础的课程中使用过一个求1-100的累加和,代码如下: var start = 1 ; var end = 2 ; var sum = 0 ; function fnsum ( a , b ) { for ( var i = a ; i <= b ; i ++ ) { sum += i } return sum } sum = fnsum ( start , end ) // 这里返回的值就是1-100之间的和。 这个代码看上去没什么问题,但是只能运行一次。当我们第一次运行的时候,使用到了一个全局变量sum来记录当前循环的总和,确实能够正常输出结果,但是当我们第二次运行的时候,这个sum并不是初始值0,而是5500