
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
函数式编程开发技术的学习与应用是大多数Java编程开发程序员都需要熟练掌握的一个编程开发方法,今天我们就通过案例分析来简单了解一下,函数式编程开发都有哪些优势。
1、为什么要学习函数式编程
方便测试、方便并行处理
函数式编程可以抛弃this
函数式编程收到越来越多的关注
有很多库可以帮助我们进行函数式开发:lodash、underscore、ramda
2、什么是函数式编程
函数式编程(FunctionalProgrammingFP)FP是编程规范式之一
面向对象编程思维方式:把现实世界中的事物抽象成程序世界中的类和对象,通过封装继承多态来演示事物事件的联系
函数式编程思维方式:把现实世界中的事物和事物之间的联系抽象到程序世界(对运算过程进行抽象)
函数式编程中的函数不是程序中的函数(方法),而是数学中的函数即映射关系
相同的输入始终要得到相同的输出
函数式编程用来描述数据(函数)之间的映射
3、高阶函数的意义
抽象可以帮助我们屏蔽细节,只需关注我们的目标
高阶函数是用来抽象通用的问题
4、常用的高阶函数
forEach方法用于调用数组的每个元素,并将元素传递给回调函数
map方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
filter方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
every方法用于检测数组所有元素是否都符合指定条件(通过函数提供)
some方法用于检测数组中的元素是否满足指定条件(函数提供)
find/findIndex方法返回通过测试(函数内判断)的数组的一个元素的值
reduce方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,终计算为一个值
sort方法用于对数组的元素进行排序
5、闭包
闭包(Closure):函数和其周围状态(词法环境)的引用捆绑在一起形成闭包
可以在另一个作用域中调用另一个函数的内部函数并访问到该函数的作用域中的成员
闭包的本质:函数在执行的时候会放到一个执行栈上当函数执行完毕之后会从执行栈上移除,但是堆上的作用域成员因为被外部应用不能释放,因此内部函数依然可以访问外部函数的成员
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。