跳到主要内容

简述 JavaScript 中的高阶函数是什么?

参考答案:

在 JavaScript 中,高阶函数(Higher-Order Functions)是一种可以接收其他函数作为参数,或者返回一个函数的函数。这样的函数允许我们更灵活、更强大地编写代码,特别是在处理数组、对象和函数本身时。高阶函数是函数式编程中的一个核心概念。

高阶函数主要有两种类型:

  1. 函数作为参数:高阶函数可以作为其他函数的参数。例如,Array.prototype.map()Array.prototype.filter()Array.prototype.reduce() 等数组方法都接受一个函数作为参数,这个函数会在数组的每个元素上执行。
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(function(num) {
  return num * 2;
});
console.log(doubled); // [2, 4, 6, 8, 10]
  1. 函数作为返回值:高阶函数可以返回另一个函数。这常常用于创建具有特定行为的函数,这些行为可以根据需要进行调整。例如,Array.prototype.sort() 方法在排序数组时会返回一个函数,这个函数可以用于进一步对数组进行排序。
const compare = function(a, b) {
  return a - b;
};

const numbers = [5, 2, 8, 1, 4];
numbers.sort(compare);
console.log(numbers); // [1, 2, 4, 5, 8]

高阶函数是 JavaScript 中非常强大的工具,它们允许我们编写更加简洁、清晰和可重用的代码。在函数式编程中,高阶函数被广泛使用,以实现更加声明式、更加简洁的代码风格。