JavaScript函数式编程(纯函数、柯里化以及组合函数)

本文介绍了JavaScript中的函数式编程核心概念,包括纯函数的定义、副作用及其案例,详细讲解了柯里化的概念、过程、特点及应用,并展示了如何实现自动柯里化。此外,还探讨了组合函数在JavaScript开发中的运用。
摘要由CSDN通过智能技术生成

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

JavaScript函数式编程(纯函数、柯里化以及组合函数)

前言

函数式编程(Functional Programming),又称为泛函编程,是一种编程范式。早在很久以前就提出了函数式编程这个概念了,而后面一直长期被面向对象编程所统治着,最近几年函数式编程又回到了大家的视野中,JavaScript是一门以函数为第一公民的语言,必定是支持这一种编程范式的,下面就来谈谈JavaScript函数式编程中的核心概念纯函数、柯里化以及组合函数。

1.纯函数

1.1.纯函数的概念

对于纯函数的定义,维基百科中是这样描述的:在程序设计中,若函数符合以下条件,那么这个函数被称之为纯函数。

  • 此函数在相同的输入值时,需产生相同的输出
  • 函数的输入和输出值以外的其他隐藏信息或状态无关,也和由I/O设备产生的外部输出无关
  • 该函数不能有语义上可观察的函数副作用,诸如“触发事件”,使输出设备输出,或更改输出值以外物件的内容等;

对以上描述总结就是:

  • 对于相同的输入,永远会得到相同的输出;
  • 在函数的执行过程中,没有任何可观察的副作用;
  • 同时也不依赖外部环境的状态;
1.2.副作用

上面提到了一个词叫“副作用”,那么什么是副作用呢?

  • 通常我们所说的副作用大多数是指药会产生的副作用;
  • 而在计算机科学中,副作用指在执行一个函数时,除了得到函数的返回值以外,还在函数调用时产生了附加的影响,比如修改了全局变量的状态,修改了传入的参数或得到了其它的输出内容等;
1.3.纯函数案例
  • 编写一个求和的函数sum,只要我们输入了固定的值,sum函数就会
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值