纯函数

纯函数是函数式编程的基础,它对相同输入总是返回相同输出,不依赖外部变量且无副作用。纯函数的特性包括:返回结果仅依赖参数、执行无副作用。其优势在于可缓存性、可移植性和可测试性,有利于提高代码的可靠性、可维护性和测试效率。
摘要由CSDN通过智能技术生成

纯函数

什么是纯函数呢,我是在研究函数式编程时候发现的一个东西,想要知道什么是函数式编程,纯函数就是他学习的第一步。
那么就带着大家来分享一下什么是纯函数。

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。这个时候第二次运行的结果就被sum这个全局变量影响到了。
这就不是一个纯函数。想要拿到纯函数稍微改造一下:

var start = 1;
var end = 2;

function 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值