文章内容输出来源:拉勾教育 大前端高薪训练营

前言

函数式编程是种编程方式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。

常见的编程范式

函数式编程、面向过程编程、面向对象编程、指令式编程等

定义

函数式编程是一种编程范式(programming paradigm),也就是如何编写程序的方法论。
它属于"结构化编程"的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。

  • 和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。
  • 和过程化编程相比,函数式编程里函数的计算可随时调用。

纯函数的定义

* 相同输入必定能得出相同输出。
* 函数执行过程中没有任何副作用。

详情参见 函数式编程 – 纯函数、柯里化

面向对象编程

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

函数式编程

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

函数式与非函数式

 let num1 = 2; let num2 = 3;let sum = num1 + num2;console.log(sum); // 函数式 function add (n1, n2) { return n1 + n2;}let sum = add(2, 3); console.log(sum);

总结

函数式编程是用来描述数据(函数)之间的映射,也可以说,函数式编程其实就是对运算过程的抽象。

参考
https://baike.baidu.com/item/%E5%87%BD%E6%95%B0%E5%BC%8F%E7%BC%96%E7%A8%8B/4035031#1

初识函数式编程(Functional Programming,FP)相关推荐

  1. 【编程语言】函数式编程 Functional Programming

    函数式编程 1. 引言 "函数式编程"是一种"编程范式"(programming paradigm),也就是如何编写程序的方法论. 它属于"结构化编程 ...

  2. R语言函数式编程(Functional Programming)概念

    R语言函数式编程概念 functional 泛函 R语言的函数是first-class function 一等函数,higher-order function高阶函数,函数可以作为函数参数传入,这些特 ...

  3. 面向函数范式编程(Functional programming)

    函数编程(简称FP)不只代指Haskell Scala等之类的语言,还表示一种编程思维,软件思考方式,也称面向函数编程. 编程的本质是组合,组合的本质是范畴Category,而范畴是函数的组合. 首先 ...

  4. 什么是函数式编程?总结

    什么是函数式编程? 函数式编程(Functional Programming, FP),FP 是编程范式之一,我们常听说的编程范式还有面向过程编程.面向对象编程. 面向对象编程的思维方式:把现实世界中 ...

  5. 大前端进击之路(一):函数式编程

    转自:掘金 - 跟兔虫 函数式编程概念 一.什么是函数式编程 函数式编程(Functional Programming, FP),是一种编程风格,也可以认为是一种思维模式,和面向过程.面向对象是并列的 ...

  6. random函数用法_Python函数式编程:从入门到走火入魔

    很多人都在谈论函数式编程(Functional Programming),只是很多人站在不同的角度看到的是完全不一样的风景.坚持实用主义的 Python 老司机们对待 FP 的态度应该更加包容,虽然他 ...

  7. java里函数式表达式_Java8函数式编程 (一) 数据流和lambda表达式

    JDK 1.8中引入了函数式编程(functional programming,FP),如果您已习惯OOP,一定会感到困惑:什么是函数式编程?这样的编程模式有什么好处? 本文将通过简单的实例令读者对函 ...

  8. javascript 函数式编程(1)

    函数式编程(Functional Programming) 简单说就是把函数当参数传递给其他函数.个人认为 FP 在软件抽象中占很重要的地位,作为程序员的话极力推荐掌握其中的思维方法.最早这思想出现在 ...

  9. python从入门到走火入魔_Python 函数式编程:从入门到走火入魔

    很多人都在谈论函数式编程(Functional Programming),只是很多人站在不同的角度看到的是完全不一样的风景.坚持实用主义的 Python 老司机们对待 FP 的态度应该更加包容,虽然他 ...

最新文章

  1. nagios插件--磁盘IO监控
  2. JAVA类型转换问题
  3. 2018python培训-python培训哪里比较好?
  4. python怎么写文件-python头文件怎么写
  5. 题目1162:I Wanna Go Home
  6. linux如果一个目录具有执行,Linux操作系统部分复习题答案
  7. 阜阳市乡镇企业中专学校计算机教师高翱简介,2017年中南林业科技大学博士研究生奖助学金...
  8. 带你深入探究云原生时代的分布式操作系统 Kubernetes
  9. html a标签去掉下划线_如何用HTML基本元素制作表格
  10. 关于Android的学习
  11. 牛客小白月赛9: div.2 A(线性筛)
  12. RDP(远程桌面很慢) slow performance, Hyper-V,IPv4 Checksum offload
  13. 想要接触人工智能吗?先要学会如何阅读论文
  14. 互联网金融并不是传统银行的颠覆者
  15. 你确认退出吗 html,按退出会 执行2次弹出确认窗口,为何?
  16. 报价管理解决方案丨汇信
  17. 使用 Anaconda 安装 Pytorch
  18. 学计算机专业独立显卡有必要吗,独立显卡驱动有什么用(显卡驱动有必要安装吗)...
  19. 【HDU 杭电 5773 The All-purpose Zero】
  20. 后台获取用户登录信息

热门文章

  1. 人工智障学习笔记——机器学习(1)特征工程
  2. Linux模块加载流程及如何让系统开机自动加载模块
  3. linux 批量创建用户和删除用户
  4. 如何用Pygame写游戏(十四)
  5. CVPR2018 Tutorial 之 Visual Recognition and Beyond
  6. 数组算法 java 115918581
  7. vs2012安装过程 1006
  8. 爬早-精典小结-0226
  9. javascript-流程控制-循环-分支-三元运算符
  10. mount命令详解及常见问题汇总