JS 纯函数

作者: Cherry丶小丸子 | 来源:发表于2023-03-04 15:38 被阅读0次

纯函数:就是一个函数的返回结果只依赖于它的参数,不依赖于且不改变它作用域之外的变量状态的函数,并且在执行过程中没有副作用,我们就把这个函数叫做纯函数

1、函数的返回结果只依赖于它的参数
// 不是纯函数,一来了外部变量 a
lat a = 1;
function add(b) { return a + b }

add(1) // 2

// 是纯函数
function add(a, b) { return a + b }

add(1, 2) // 3
2、函数执行过程中没有副作用
// 不是纯函数,有副作用,改变 obj 里面的 a
let obj = { a: 1 }
function mul(obj){
    return obj.a *= 2
}

mul(obj) // 2
obj.a // 2


// 是纯函数
let obj = { a : 1 }
function mul(a){
    return a*= 2
}

mul(obj.a) // 2
obj.a // 1
优点
  • 1、可复用性:纯函数仅依赖于传入的参数,这意味着你可以随意将这个函数移植到别的代码中,只需要提供它需要的参数即可
  • 2、可测试性:纯函数非常容易进行单元测试,因为不需要考虑上下文环境,只需要考虑输入和输出
  • 3、并行代码:纯函数是健壮的,改变执行次序不会对系统造成影响,因此纯函数的操作可以并行执行

相关文章

  • js 纯函数

    什么是纯函数 纯函数是函数式编程中非常重要的一个概念,简单来说,就是一个函数的返回结果只依赖于它的参数,并且在执行...

  • js纯函数

    定义 简单来说,一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数叫做纯函数。这么...

  • JS纯函数

    纯函数简单定义 1.函数返回的结果只依赖它的参数2.函数的执行不会对该函数之外的其他对象等造成影响(副作用) 举例...

  • JS 纯函数

    纯函数:就是一个函数的返回结果只依赖于它的参数,不依赖于且不改变它作用域之外的变量状态的函数,并且在执行过程中没有...

  • 深入浅出Rxjs笔记 一

    一.函数式编程 函数式编程要求: 声明式 纯函数 数据不可变js 不算纯粹意义上的函数式编程语言,但是,在js中函...

  • 深入redux源码 (1)

    redux 的安装 redux 有五个js构成,纯函数实现 因为 redux 是纯函数,所以很方便进行测试.在we...

  • js 纯函数思想

    纯函数 若一个函数对相同的输入,永远会得到相同的输出,并且不会影响该函数作用域以外的环境变量,则此函数称为纯函数。...

  • JS纯函数概念

    判断是否为纯函数的两个指标 纯函数和非纯函数的简单例子 1、纯函数 2、非纯函数 Redux中对使用纯函数redu...

  • 函数式编程阅读笔记

    《js函数式编程指南》 函数式编程中 不涉及this改变的问题(因为用不到this)。 纯函数是这样一种函数,即相...

  • 图片压缩后上传(压缩工作在前端完成)

    本文只是经# 图片纯前端JS压缩的实现核心代码的简单修改后的多图片上传版本; HTML JS变量及辅助函数 JS核...

网友评论

    本文标题:JS 纯函数

    本文链接:https://www.haomeiwen.com/subject/bhjyldtx.html