JavaScript 什么是纯函数,有哪些常见的纯函数

什么是纯函数

纯函数是指那些不依赖于外部状态,也不改变外部状态的函数。在JavaScript中,纯函数的返回值仅由其输入参数决定,而且执行纯函数不会产生副作用,比如修改全局变量或修改传入的参数。

常见的纯函数

JavaScript中一些常见的自带纯函数包括:

1.Math.abs:返回参数的绝对值。

2.Math.min 和 Math.max:分别返回一组数中的最小值和最大值。

3.Math.round:四舍五入。

4.Math.floor 和 Math.ceil:分别向下和向上取整。

5.Array.prototype.slice:不改变原数组,返回一个新数组。

6.String.prototype.toUpperCase 和 String.prototype.toLowerCase:转换字符串的大小写。

还有一些对数组的操作方法,可以不修改原数组拿到修改后的数组

1.toSorted(): 这个方法会返回一个新数组,其中的元素是按照升序排列的。它不会改变原数组。

let numbers = [1, 3, 2, 4];
let sortedNumbers = numbers.toSorted();
console.log(sortedNumbers); // 输出: [1, 2, 3, 4]
console.log(numbers); // 输出: [1, 3, 2, 4],原数组不变

2.toReversed(): 这个方法会返回一个新数组,其中的元素顺序与原数组相反。它不会改变原数组。

let numbers = [1, 3, 2, 4];
let reversedNumbers = numbers.toReversed();
console.log(reversedNumbers); // 输出: [4, 2, 3, 1]
console.log(numbers); // 输出: [1, 3, 2, 4],原数组不变

3.toSpliced(): 这个方法会返回一个新数组,它会从原数组中移除指定数量的元素,并在指定位置插入新的元素。它不会改变原数组。

let numbers = [1, 2, 3, 4, 5];
let splicedNumbers = numbers.toSpliced(1, 2, 'a', 'b');
console.log(splicedNumbers); // 输出: [1, 'a', 'b', 5]
console.log(numbers); // 输出: [1, 2, 3, 4, 5],原数组不变

判断是否是纯函数

判断一个函数是否是纯函数,你可以根据以下两个标准:

1.相同的输入总是得到相同的输出:无论何时何地,只要给定相同的输入参数,纯函数总是返回相同的结果。

2.不产生副作用:纯函数在执行过程中不会改变任何外部状态,也就是说,它不会修改任何全局变量、传入的参数或者其他任何外部状态。

如果一个函数满足这两个条件,那么它就是一个纯函数。在实际编程中,纯函数通常更容易理解和测试,因为它们的行为不依赖于任何外部环境。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值