JavaScript 编码原则之过程抽象

96 阅读2分钟

JavaScript 编码原则之过程抽象

过程抽象

  • 用来处理局部细节控制的一些方法
  • 函数式编程思想的基础应用

image-20230731214400095

高阶函数

  • 以函数作为参数
  • 以函数作为返回值
  • 常用于作为函数装饰器

image-20230731214812497

image-20230731214826433

高阶函数是指可以接受一个或多个函数作为参数,并/或者返回一个新函数的函数。在 JavaScript 中,函数是一等公民,因此可以像其他值一样被传递和操作。高阶函数的概念允许我们在编程中更灵活地处理函数。

以下是一些常见的高阶函数的示例:

  1. 函数作为参数:
function doSomething(callback) {
  // 执行一些操作
  // 调用回调函数
  callback();
}
​
function callbackFunction() {
  console.log('回调函数被调用');
}
​
doSomething(callbackFunction);

在上面的例子中,doSomething 函数接受一个函数作为参数 callback,并在函数内部调用该回调函数。

  1. 函数作为返回值:
function multiplyBy(num) {
  return function (x) {
    return x * num;
  };
}
​
const multiplyByTwo = multiplyBy(2);
console.log(multiplyByTwo(5)); // 输出: 10

在这个例子中,multiplyBy 函数返回一个新的函数,该函数将传入的参数与外部函数的参数相乘。

  1. 数组方法中的高阶函数:
const numbers = [1, 2, 3, 4, 5];
​
const doubled = numbers.map(function (num) {
  return num * 2;
});
​
console.log(doubled); // 输出: [2, 4, 6, 8, 10]

在这个例子中,map 是一个高阶函数,它接受一个函数作为参数,并对数组中的每个元素应用该函数。

高阶函数的优点在于它们提供了一种抽象和组合代码的方式,使得我们可以更灵活地处理函数。通过将函数作为参数传递给其他函数,我们可以实现回调、事件处理、函数组合等功能。通过返回函数,我们可以实现柯里化、函数工厂等模式。这些技术都可以帮助我们编写更具表达力和可复用性的代码。

常用的高阶函数(前面的世界以后再来探索吧)

看不太懂,后面填坑

参考文献:juejin.cn/post/700103…

谢谢这位同学的笔记!看的时候受益匪浅了!