高阶函数(操作函数的函数)
简单地理解:既可以把函数当做参数传递也可以当做返回值返回
普通类型的数据作为函数参数
如下,分别展示了,字符串、数字、Bool、对象、数组作为函数参数的使用方式,是我们最为常见的一种方式(代码没啥用就不写出来了,大致看下就行了)
函数作为参数
我们来看一个案例
在filter函数中将isEven作为了它的参数,根据数组内的数字是否满足函数条件来决定是否返回带新的数组中去
函数作为返回值
代码如下
我们可以在控制台打印出来,这里我直接使用了node.js运行
更高的可重用性
如果不存在高阶函数,那么诸如map、filter、reduce等将不复存在,我们就通过这三个方法来说明(用下面这个数组来示范):
- Map
不使用map的话,我们通常会这么写
代码看起来貌似也不复杂,然后我们再看看使用了map的情况
只能说没有对比就没有伤害
- Filter
直接看图:
- Reduce
还是看图:
总结一下
字符串,数字,bool,数组和对象可以存储为变量,同样在Javascript中以同样的方式处理函数,最常用的方法就像map、filter和reduce等,能够更方便的循环、过滤和合计等,高阶函数的用法和应用远不止于此,以上只是以简单的示例入门Javascript高阶函数,如果对你有帮助,请帮忙点个关注吧,谢谢!