JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
2019-05-21 18:03
1741 查看
本文实例讲述了JavaScript函数式编程(Functional Programming)声明式与命令式。分享给大家供大家参考,具体如下:
函数式编程属于声明式编程(declarative programming)的范畴,经常跟声明式编程一块儿讨论的是命令式编程(imperative programming),因为它们是两种不太一样的风格。
命令式编程一般就是说清楚具体要怎么样得到一个结果:先这样做,再这样做,然后再这样,如果这样,就这样做 … 声明式编程就是声明(说明)一下你想得到的结果是什么样的:把这组电影里的平均分大于 9 分的电影过滤出来给我。
比如有一组电影,你想过滤出评分 9 分以上的电影。
let movies = [ { title: 'The Shawshank Redemption', rating: 9.6 }, { title: 'Forrest Gump', rating: 9.4 }, { title: 'Roman Holiday', rating: 8.9 } ]
命令式:
const imperativeMovieFilter = (movies) => { let result = [] for (let i = 0; i < movies.length; i++) { if (movies[i].rating >= 9) { result.push(movies[i]) } } return result }
在函数里面,先来个 result,让它等于一个空白的数组。然后我们又 for 循环,去处理 movies ,循环的时候判断当前项目里的评分(rating)是不是大于等于 9,如果是的话,就把这个项目放到 result 里面。循环完成以后,会返回处理之后的结果。命令式编程里,详细的说明了得到结果需要做的每个操作。
声明式:
const declarativeMovieFilter = (movies) => { return movies.filter((movie) => movie.rating >= 9) }
在上面这个函数里,我们只是说明了一下,自己想要的结果是什么样的,就是评分在 9 分以上的电影。
更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- javascript函数式编程实例分析
- OpenStack建立实例完整过程源码详细分析(6)
- 生产环境参数实例及分析【生产环境实例增加中】
- python实现数值积分的Simpson方法实例分析
- JavaScript文档碎片操作实例分析
- 微信小程序用户自定义模版用法实例分析
- C#调用SQLite的方法实例分析
- PHP接口入门分析实例
- JavaScript设计模式之单例模式原理与用法实例分析
- 彻底学会使用epoll(四)——ET的写操作实例分析
- Struts+Spring+Hibernate的完美融合(实例+图片+分析)
- 软件开发流程实例之二 :可行性分析
- 对Spring中接口注入的理解实例分析
- javascript操作select元素实例分析
- 实例分析EXCEL中的IF嵌套和VLOOKUP
- 实例分析:一次利用社会工程学的入侵
- AgileEAS.NET平台开发实例-药店系统-BLL层分析
- 2.6从实例进入FSM初步--例子的时序分析 part3
- Python设计模式之解释器模式原理与用法实例分析
- javascript字符串循环匹配实例分析