什么是函数式编程?

菜园前端
• 阅读 343

原文链接:https://note.noxussj.top/?source=helloworld


什么是函数式编程?

函数式编程(Functional Programming, FP)就是利用纯函数实现细粒度的函数,然后再通过函数的组合把细粒度的函数组合成功能更强大的函数。函数式编程中的 "函数" 不是程序中的函数(方法),而是数学中的函数(映射关系),例如 y=sin(x)xy 的关系,函数式编程用来描述数据之间的映射。

优点

封装成细粒度的函数,方便后期复用和多细粒度的函数进行组合。

不同的思维方式

面向对象编程

把现实世界中的事物抽象成程序世界中的类和对象,通过封装、继承、多态来演示事物事件的联系。

函数式编程

把现实世界中的事物和事物之间的联系抽象到程序世界,对运算过程进行抽象。

基础案例

非函数式编程

const num1 = 2

const num2 = 3

const sum = num1 + num2

函数式编程

function add(num1, num2) {
    return num1 + num2
}

const sum = add(2, 3)
点赞
收藏
评论区
推荐文章
九路 九路
3年前
Go 函数是“一等公民”的理解
函数(function)作为现代编程语言的基本语法元素存在于支持各种范式(paradigm)的主流编程语言当中。无论是命令式语言C、多范式通用编程语言C,还是面向对象编程语言Java、Ruby,亦或是函数式语言Haskell、动态脚本语言Python、PHP、JavaScript,函数这一语法元素都是当仁不让的核心。Go语言以“成为新一代系统
Easter79 Easter79
3年前
swift高阶函数和函数式编程
Swift函数式编程,函数式编程的思想就是一切皆函数,可以是被当作变量,参数,返回值。高阶函数运用对swift编程很重要。基础一般常用的几个高阶函数如下letnumArr5,4,6,1,7//遍历所有并操作print(numArr.map{$01})//输出:6,5,7,2,8
菜园前端 菜园前端
1年前
什么是函数组合?
原文链接:什么是函数组合?函数组合(Compose),如果一个函数要经过多个函数处理才能得到最终值,这个时候可以把中间过程的函数合并成一个函数。函数组合默认是从右到左执行,每个函数只能接收一个参数,否则需使用柯里化进行转换。作用函数组合可以让我们把细粒度的
Stella981 Stella981
3年前
Python函数式编程
函数式编程\TOC\函数式编程。函数参数中的魔法coming...位置参数关键字参数默认参数动态参数位置参数收集关键字参数收集收集参数行为的逆向过程(解参,这个逆向过程用于实参上)参数传递嵌套函数定义
Stella981 Stella981
3年前
Python中的函数式编程教程,学会用一行代码搞定
01前言在本文中,您将了解什么是函数范型,以及如何在Python中使用函数式编程。在Python中,函数式编程中的map和filter可以做与列表相同的事情。这打破了Python的禅宗规则之一,因此函数式编程的这些部分不被认为是“Python式的”。但是由于函数式编程高阶编程的必经之路,所以我们需要了解甚至熟练掌握。02
Stella981 Stella981
3年前
Python的函数式编程
Contents(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fdebugtalk.com%2Fpost%2Fpythonfunctionalprogramminggettingstarted%2F)
Stella981 Stella981
3年前
Guava(函数式编程)
函数式编程:使用Function接口(jdk8中已经存在):/  其功能就是将输入类型转换为输出类型 /public interface Function<F, T {  T apply(@Nullable F input);
菜园前端 菜园前端
1年前
什么是纯函数?
原文链接:什么是纯函数?相同的输入永远会得到相同的输出,而且没有任何可观察的副作用。纯函数就类似数学中的函数(用来描述输入和输出之间的关系)yfn(x)纯函数库我们平时用的lodash其实就是纯函数库。纯函数的优点1.可缓存(直接提升性能)也就是我们平常说
前端开发之函数式编程实践 | 京东云技术团队
函数式编程是一种编程范式,它将程序抽象为函数和数据结构,通过函数调用来实现程序的功能,并且函数可以作为参数传递给其他函数。
基于Effect的组件设计 | 京东云技术团队
Effect的概念起源从输入输出的角度理解Effect编程中的Effect起源于函数式编程中纯函数的概念纯函数是指在相同的输入下,总是产生相同的输出,并且没有任何副作用(sideeffect)的函数。副作用是指函数执行过程中对函数外部环境进行的可观察的改变