登录
首页 >  文章 >  前端

高阶函数是什么?JS常用高阶函数有哪些

时间:2025-12-26 21:58:22 247浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习文章的朋友们,也希望在阅读本文《高阶函数是什么?JS常见高阶函数有哪些》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新文章相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

高阶函数是接受函数作为参数或返回函数作为结果的函数。它体现“函数可被当作值传递和生成”,常见于数组方法、定时器、防抖、柯里化及Promise链等场景,判断依据是形参含函数类型或返回函数表达式。

什么是高阶函数_Javascript中哪些是例子

高阶函数是指**接受函数作为参数,或者返回函数作为结果**的函数。它不是某种特殊类型,而是对函数使用方式的一种描述——核心在于“函数可被当作值来传递和生成”。

接受函数作为参数的高阶函数

这是最常见的情形:把一个函数传进去,让它在合适时机被调用(比如遍历、过滤、转换时)。

  • Array.prototype.map():对数组每个元素执行传入的函数,返回新数组
  • Array.prototype.filter():用传入的函数判断是否保留当前元素
  • Array.prototype.reduce():用传入的累加器函数逐步合并数组值
  • Array.prototype.sort():传入比较函数决定排序逻辑
  • setTimeout() / setInterval():第一个参数就是将在未来执行的函数

返回函数的高阶函数

这类函数本身不直接做事,而是生成并返回一个新的函数,常用于配置、封装或延迟执行。

  • function createMultiplier(n) { return function(x) { return x * n; }; }:返回一个乘以 n 的函数
  • const debounce = (fn, delay) => { ... return function() { ... }; };:防抖函数,返回包装后的新函数
  • curry() 实现(如 _.curry 或手写):把多参数函数转成可分步调用的函数链

既是参数接收者又是返回者:典型工具函数

很多实用函数同时满足两个条件,体现高阶函数的灵活性。

  • Promise.then(onFulfilled, onRejected):接收回调函数,并返回新的 Promise(链式调用基础)
  • async/await 底层依赖的 Promise 处理逻辑:本质上是高阶控制流抽象
  • React 中的高阶组件(HOC):如 withRouterconnect(Redux),接收组件返回新组件(组件即函数)

自定义高阶函数的关键特征

判断自己写的函数是不是高阶函数,看两点:

  • 函数体内有没有 形参是函数类型(例如 callbacktransform
  • 函数体结尾有没有 return 一个 function 表达式或箭头函数
  • 两者满足其一,就是高阶函数;都满足,就更典型

理论要掌握,实操不能落!以上关于《高阶函数是什么?JS常用高阶函数有哪些》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>