JavaScript 编码原则之过程抽象
过程抽象
- 用来处理局部细节控制的一些方法
- 函数式编程思想的基础应用
高阶函数
- 以函数作为参数
- 以函数作为返回值
- 常用于作为函数装饰器
高阶函数是指可以接受一个或多个函数作为参数,并/或者返回一个新函数的函数。在 JavaScript 中,函数是一等公民,因此可以像其他值一样被传递和操作。高阶函数的概念允许我们在编程中更灵活地处理函数。
以下是一些常见的高阶函数的示例:
- 函数作为参数:
function doSomething(callback) {
// 执行一些操作
// 调用回调函数
callback();
}
function callbackFunction() {
console.log('回调函数被调用');
}
doSomething(callbackFunction);
在上面的例子中,doSomething 函数接受一个函数作为参数 callback,并在函数内部调用该回调函数。
- 函数作为返回值:
function multiplyBy(num) {
return function (x) {
return x * num;
};
}
const multiplyByTwo = multiplyBy(2);
console.log(multiplyByTwo(5)); // 输出: 10
在这个例子中,multiplyBy 函数返回一个新的函数,该函数将传入的参数与外部函数的参数相乘。
- 数组方法中的高阶函数:
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 是一个高阶函数,它接受一个函数作为参数,并对数组中的每个元素应用该函数。
高阶函数的优点在于它们提供了一种抽象和组合代码的方式,使得我们可以更灵活地处理函数。通过将函数作为参数传递给其他函数,我们可以实现回调、事件处理、函数组合等功能。通过返回函数,我们可以实现柯里化、函数工厂等模式。这些技术都可以帮助我们编写更具表达力和可复用性的代码。
常用的高阶函数(前面的世界以后再来探索吧)
看不太懂,后面填坑
谢谢这位同学的笔记!看的时候受益匪浅了!