JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
本文实例讲述了JavaScript函数式编程(FunctionalProgramming)声明式与命令式。分享给大家供大家参考,具体如下:
函数式编程属于声明式编程(declarativeprogramming)的范畴,经常跟声明式编程一块儿讨论的是命令式编程(imperativeprogramming),因为它们是两种不太一样的风格。
命令式编程一般就是说清楚具体要怎么样得到一个结果:先这样做,再这样做,然后再这样,如果这样,就这样做…声明式编程就是声明(说明)一下你想得到的结果是什么样的:把这组电影里的平均分大于9分的电影过滤出来给我。
比如有一组电影,你想过滤出评分9分以上的电影。
letmovies=[ {title:'TheShawshankRedemption',rating:9.6}, {title:'ForrestGump',rating:9.4}, {title:'RomanHoliday',rating:8.9} ]
命令式:
constimperativeMovieFilter=(movies)=>{ letresult=[] for(leti=0;i=9){ result.push(movies[i]) } } returnresult }
在函数里面,先来个result,让它等于一个空白的数组。然后我们又for循环,去处理movies,循环的时候判断当前项目里的评分(rating)是不是大于等于9,如果是的话,就把这个项目放到result里面。循环完成以后,会返回处理之后的结果。命令式编程里,详细的说明了得到结果需要做的每个操作。
声明式:
constdeclarativeMovieFilter=(movies)=>{ returnmovies.filter((movie)=>movie.rating>=9) }
在上面这个函数里,我们只是说明了一下,自己想要的结果是什么样的,就是评分在9分以上的电影。
更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。