概述

函数式编程概述免费看

什么是函数式编程,函数式编程的特征和优缺点有哪些

2018-08-24侠课岛    中级进阶       

前端/前端/ES6函数式编程 19     0     1496

什么是函数式编程

维基百科中已经对函数式编程给出了详细的介绍,简单翻译概念就是:

函数式编程是一种编程模型,他将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念。

函数式编程英语:Functional programming,简称为FP,又称泛函编程,是一种编程范型。在函数式编程中,所有的数据都是不可变的,不同的函数之间都是通过数据来交换信息,而且函数在FP中是一等公民,和数据拥有一样的地位,意思就是说,函数可以作为参数传递给下一个函数,同时也可以作为返回值,与数据的使用方式一致;FP就是通过声明一等公民地位的纯函数抽象数据的处理,来避免或尽可能减少函数调用对于外部状态和系统产生的副作用。

特征

首先,来看下函数式编程与其他编程方式的两个本质:高阶函数(higher-order functions)和没有副作用(no side effect)。操作另一个函数的函数被称为高阶函数,即可以接收函数作为输入参数或作为输出结果返回的函数。函数的所有功能都是返回一个新的值,不会修改外部变量,不能受其他非输入参数的变量影响的行为就是没有副作用的行为,本质条件是区分和其他编程方式的根本元素,还有一些特征也是重要元素

  • 一等公民的函数;在javascript中,函数不仅拥有一切传统函数的使用方式(声明和调用),而且可以做到像其他数值一样赋值、传参、返回;
  • 不可变数据;由于把函数提升到一等公民的位置,所以定义的函数是不能修改的,只能引用;
  • 尾调用优化;函数从尾部调用自身的方式称为尾递归调用,递归的方式是十分耗损内存的,且容易发生内存栈异出的情况,但是尾递归调用则只会存在一个调用帧,永远不会发生溢出情况。

本教程图文或视频等内容版权归侠课岛所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、转贴或以其他方式复制发布或发表。

评价

19

本课评分:
  •     非常好
难易程度:
  •     适中的
|
教程
粉丝
主页

签到有礼

已签到2天,连续签到7天即可领取7天全站VIP

  • 1
    +2 金币
  • 2
    +3 金币
  • 3
    +5 金币
  • 6
    +7 金币
  • 5
    +6 金币
  • 4
    暖心福利
    自选分类VIP ×1天
  • 7
    惊喜大礼

    自选分类VIP ×3天 +20金币
  • 持续签到 +8 金币

金币可以用来做什么?