美文网首页
JS纯函数

JS纯函数

作者: vinterx | 来源:发表于2019-04-24 00:30 被阅读0次

纯函数简单定义

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

举例说明1

        let a = 1

        let fn = (b) => {
            return a + b
        }

        fn(9) // 10

函数返回的结果依赖了外部变量a的影响,所以不是纯函数。

        let fn = (a, b) => {
            return a + b
        }

        fn(1, 9) // 10

完全依赖传入的参数,所以是纯函数。

举例说明2

        let arr = [1, 2]

        let fn = (a, b) => {
            return a + b
        }
    
        fn(arr[0], 9)

这还是纯函数,改变一下

        let arr = [1, 2]

        let fn = (a, b) => {
            a[0] = 2
            return a[0] + b
        }
    
        fn(arr, 9)
        console.log(arr) //  [2, 2]

函数的执行,改变了外部数组arr的值,产生副作用,所以不是纯函数。

总结
纯函数在复杂的代码中是非常有用的,它的结果只依赖传递的参数,且不会对外部造成任何影响,高可控又复用。

相关文章

  • 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/fsbigqtx.html