当前位置: 首页 > Web前端 > JavaScript

1.1.1函数式编程的概念

时间:2023-03-27 12:02:10 JavaScript

介绍了面向对象编程的思维模式:将现实世界中的事物抽象为程序世界中的类和对象,通过封装、继承和多态来论证事物与事件之间的关系函数式编程思维方式:将现实世界中事物之间的关系抽象到程序世界中(将计算过程抽象化)高阶函数(Higher-orderfunction),你可以将函数作为参数传递给另一个函数,你可以将函数作为另一个函数的返回结果。使用高阶函数的意义:抽象可以帮助我们屏蔽细节,我们只需要专注于我们的目标。高阶函数用于抽象常见问题并将它们作为参数传递:functionforEach(arr,fn){for(leti=0;i{让结果=[];for(letvalofarr){result.push(fn(val))}返回结果;}constevery=(arr,fn)=>{letflag=true;for(letvalofarr){flag=fn(val);如果(!标志){打破;returnflag;}recude的实现比较复杂,也是一道常见的面试题。recude的功能及特点:接收两个参数,第一个参数是对每个item调用的函数函数接收4个参数:上一个值的索引prev当前值curitemindexarrayobjectarray第二个是可选的参数是初始值arr.reduce(function(prev,cur,index,arr){},initialValue)递归实现作为合并的基础Array.prototype.myreduce=(fn,initialVal){//基本类型判断if(typeoffn!=="function"){thrownewTypeError("arguments[0]不是一个函数");}让acc=initialVal||这个[0];constinitIndex=initialVal?0:1;for(leti=initIndex;i=mini;}//纯函数functioncheckAge(age){letmini=18;返回年龄>=迷你;}