什么是高阶函数?
满足下面两点中的任意一点都是高阶函数:
- 如果一个函数的参数是一个函数
- 如果一个函数返回一个函数,那么当前这个函数也是一个高阶函数
高阶函数的应用
拓展业务代码:给某个方法添加一个方法在它执行之前调用
// 业务代码
function kaimo(...arg) {
console.log("kaimo", ...arg);
}
// 给某个方法添加一个方法在它执行之前调用
Function.prototype.before = function (callback) {
// 需要使用箭头函数(没有this;没有arguments)这里...是剩余运算符
return (...arg) => {
callback();
// 这里...是展开运算符
this(...arg);
};
};
let newKaimo = kaimo.before(function () {
console.log("newKaimo");
});
newKaimo("hello", "world");

文章介绍了高阶函数的概念,即接受函数作为参数或返回函数的函数。通过示例展示了如何扩展Function.prototype,添加`before`方法在原函数执行前调用指定的回调函数。最后,展示了如何使用这个新功能在`kaimo`函数执行前打印`newKaimo`消息。

被折叠的 条评论
为什么被折叠?



