JavaScript高阶函数是什么_它有哪些典型例子?

admin 百科 18
JavaScript高阶函数指接收函数为参数或返回函数的函数,体现函数式编程思想;常见内置方法有map、filter、reduce、sort,手动实现如once、curry、compose,提升代码复用性与可维护性。

JavaScript高阶函数是什么_它有哪些典型例子?-第1张图片-佛山资讯网

JavaScript高阶函数是指接收函数作为参数或返回函数作为结果的函数。它不是某种特殊语法,而是函数式编程思想在JS中的体现——把函数当作“一等公民”来使用。

常见的高阶函数(内置)

ES5之后,数组方法大量采用高阶函数设计,最典型的是:

  • map():对每个元素执行回调,返回新数组。例如:[1,2,3].map(x => x * 2)[2,4,6]
  • filter():用回调筛选元素,返回满足条件的新数组。例如:[1,2,3,4].filter(x => x % 2 === 0)[2,4]
  • reduce():累积计算,把数组“压成”一个值。例如:[1,2,3].reduce((acc, x) => acc + x, 0)6
  • sort():接受比较函数决定排序逻辑。例如:[3,1,2].sort((a,b) => a - b)[1,2,3]

手动写的高阶函数例子

你可以轻松自己定义高阶函数,关键在于参数是函数,或返回函数:

  • once(fn):返回一个只执行一次的函数封装。const init = once(() => console.log('run')); 调用多次也只输出一次
  • curry(fn):把多参数函数转为可分步传参的形式。例如:add(1)(2)(3) 等价于 add(1,2,3)
  • compose(...fns):从右到左组合多个函数,如 compose(f,g,h)(x) 相当于 f(g(h(x)))

为什么用高阶函数?

它让代码更灵活、可复用、易测试:

标签: react javascript java js 代码复用 为什么 red

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~