【视频】- 5分钟学习<函数式编程>

温馨提示:视频请点此观看

// 视频文字版:

JavaScript 函数式编程是一个存在了很久的话题,

现在ES6语法对于函数式编程更为友好,所以开始变的更加火热。

函数式编程可以理解为,以函数作为主要载体的编程方式,用函数去拆解、抽象一般的表达式,好处主要有以下几点:

1、语义更加清晰

2、可复用性更高

3、可维护性更好

4、作用域不会污染命名空间

现在来看一个基本的函数式编程,目标是把每个单词的首字母变为大写,

从上面的例子可以看出,函数式编程的特征,

1、每个函数只做一件事;

2、每个函数只接收一个参数;

3、每个函数只返回一个结果;

好处是,结果是可预期的,且易于调试;

坏处是,很容易出现横向的多层嵌套。

就像下面这样,

//计算1,2,3,4相加之和

当然了,一般不会这样写,这只是极端表现。但客观上来看,函数式编程确实有可能出现这种情况。

上述情况的优化,可以采用“链式调用”来解决,

这样改写后,结构会整体变得比较清晰,而且链式调用的每一环在做什么也可以很容易的展现出来。

但随着项目的进行,代码量的增加,业务的复杂度不断上升,各种回调的存在 ,会使代码的嵌套层数不断增加。

这时更好的办法,就是Promise的链式结构,看下面这个例子,

它能够做到在代码高度复杂的情况下,依然保持代码层次的清晰,就像这样的。

扩展阅读:

大白话 Promise,这到底是干啥用的?

原文发布于微信公众号 - web前端教室(webfeel)

原文发表时间:2017-12-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏祝威廉

如何使用MLSQL中的帮助指令学习模块的使用

MLSQL 已经实现了文章中描述的功能 如何实现语法的自解释(MLSQL易用性设计有感) 。

744
来自专栏java一日一条

程序中减少使用if语句的方法集锦

大约十年前,我听说了反if的活动,觉得这个概念非常荒谬。如果不用if语句,又怎么能写出有用的程序呢?这简直太荒谬了。

952
来自专栏恰同学骚年

设计模式的征途—7.适配器(Adapter)模式

在现实生活中,我们的笔记本电脑的工作电压大多数都是20V,而我国的家庭用电是220V,如何让20V的笔记本电脑能够工作在220V的电压下工作?答案:引入一个电源...

973
来自专栏阮一峰的网络日志

函数式编程初探

诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。 不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言...

3356
来自专栏互联网杂技

干货:前端开发指南Front-End-Develop-Guide

这份文件包含一系列用于面试审查求职者(候选人)的前端面试问题。这并不推荐把每个问题都问在同一个求职者(因为这会花几个小时的时间)。从列表中抽取一些问题能够帮助你...

3436
来自专栏一个会写诗的程序员的博客

UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)

继承 指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;...

661
来自专栏闻道于事

问题总结

杰出的人才从来都是自我驱动型。 要自觉啊! 在此记录遇到的问题和理解,希望能在日后的应用学习和工作中更加透彻的理解。 关于CSS中position定位: ? 开...

2695
来自专栏瓜大三哥

UVM(十)之config机制续1

UVM(十)之config机制续1 1. 省略get的config config总是set和get成对出现的。在build_phase中,要写上如下的两句话才...

2209
来自专栏老九学堂

零基础学Java第三讲变量

如何掌握了变量这个语法?看看微视频中对应的知识点的讲解。 别走开,下面有干货哦! 1了解什么是变量?变量如何使用? 2会使用常用的数据类型 任何编程语言的语...

2615
来自专栏GIS讲堂

openlayers4中用font设置图标样式

font其实是个好东西,不论是写css还是。。。,这不,牛老师想把它用在openlayers4中,用以很方便的设置图标的大小、颜色,还不失真,东拼西凑,终于算是...

741

扫码关注云+社区