JavaScript高阶函数指接收函数为参数或返回函数的函数,依托函数是一等公民的特性,常见于map、filter、reduce等数组方法,用于抽象逻辑、组合行为与延迟执行。

JavaScript函数式编程是一种以函数为基本单元、强调不可变数据和无副作用操作的编程范式。它的核心支柱之一,就是高阶函数——它不是某种“高级技巧”,而是让函数真正“活起来”的基础能力。
高阶函数的两个明确特征
一个函数只要满足下面任意一条,就是高阶函数:
- 接收一个或多个函数作为参数(比如
map、filter、sort接收的回调函数) - 返回一个函数作为结果(比如
createGreeter("Hello")返回一个能打招呼的函数)
关键在于:JavaScript 把函数当作“一等公民”,可以赋值、传参、返回、存进数组或对象——没有这个前提,高阶函数就无从谈起。
常见的内置高阶函数(数组方法)
它们已经深度融入日常开发,用法自然但逻辑清晰:
立即学习“Java免费学习笔记(深入)”;
Android 基础知识入门 pdf,介绍什么是Android、Android可以完成的功能、Android架构、Android应用程序框架、Android函数库等,从开始安装Android开始,到环境配置,到一步步编写复杂的应用程序,本书将带你了解基础但有内涵的Android入门知识。
-
map():对每个元素执行函数,返回新数组(不修改原数组) -
filter():用条件函数筛选元素,返回符合条件的新数组 -
reduce():用累加函数把数组“压”成一个值(如求和、扁平化、分组)
例如:[1,2,3].map(x => x * 2) 得到 [2,4,6];这里箭头函数就是被传入的“行为”,map 是调度这个行为的高阶函数。
高阶函数不只是工具,更是抽象方式
它让代码从“怎么做”转向“做什么”:
- 封装重复逻辑:比如统一加日志、防抖、权限校验,写一次高阶函数,到处复用
- 组合行为:用
compose(f, g)把两个函数串成一个,像流水线一样处理数据 - 延迟执行或定制行为:如
createApiCaller(baseUrl)返回带预设地址的请求函数
本质上,高阶函数是把“动作”变成可传递、可组装、可配置的值。
基本上就这些。










