// 高阶函数示例
// 1. 接受一个或多个函数作为输入参数的函数
function greet(name) {
return "Hello, " + name;
}
function greet Loudly(greetFunc, name) {
return greetFunc(name).toUpperCase();
}
console.log(greetLoudly(greet, "Alice")); // 输出: HELLO, ALICE
// 2. 返回一个函数的函数
function createMultiplier(multiplier) {
return function(number) {
return number * multiplier;
};
}
const double = createMultiplier(2);
console.log(double(5)); // 输出: 10
const triple = createMultiplier(3);
console.log(triple(5)); // 输出: 15
// 3. 使用高阶函数简化代码
const numbers = [1, 2, 3, 4, 5];
// 使用 map 函数(高阶函数)将数组中的每个元素加倍
const doubledNumbers = numbers.map(function(num) {
return num * 2;
});
console.log(doubledNumbers); // 输出: [2, 4, 6, 8, 10]
// 使用 filter 函数(高阶函数)筛选出偶数
const evenNumbers = numbers.filter(function(num) {
return num % 2 === 0;
});
console.log(evenNumbers); // 输出: [2, 4]
接受一个或多个函数作为输入参数的函数:
greetLoudly
是一个高阶函数,它接受两个参数:一个函数 greetFunc
和一个字符串 name
。它调用 greetFunc
并将结果转换为大写。返回一个函数的函数:
createMultiplier
是一个高阶函数,它返回一个新的函数。这个新函数会将传入的数字乘以 multiplier
。通过这种方式,可以创建不同的乘法器函数(如 double
和 triple
)。使用高阶函数简化代码:
map
和 filter
是 JavaScript 中常见的高阶函数,用于操作数组。map
用于将数组中的每个元素映射到新的值,而 filter
用于筛选出满足条件的元素。这使得代码更加简洁和易读。下一篇:js pop()函数
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站