1 # 高阶函数

简介: 1 # 高阶函数

什么是高阶函数?

满足下面两点中的任意一点都是高阶函数:

  1. 如果一个函数的参数是一个函数
  2. 如果一个函数返回一个函数,那么当前这个函数也是一个高阶函数

高阶函数的应用

拓展业务代码:给某个方法添加一个方法在它执行之前调用

// 业务代码
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");

目录
相关文章
装饰器:装饰器为主,闭包和高阶函数为辅
装饰器:装饰器为主,闭包和高阶函数为辅
|
6月前
|
存储 算法
什么是高阶函数
什么是高阶函数
124 1
|
JavaScript 前端开发 Java
函数式编程入门:理解纯函数、高阶函数与柯里化
函数式编程入门:理解纯函数、高阶函数与柯里化
168 0
|
Java Kotlin
Kotlin中匿名函数(又称为Lambda,或者闭包)和高阶函数的详解
Kotlin中匿名函数(又称为Lambda,或者闭包)和高阶函数的详解
138 0
|
存储 JavaScript 前端开发
柯里化
柯里化
73 0
|
存储 缓存 算法
【Python高级编程】—— 函数式编程总结(生成器、迭代器、匿名函数、高阶函数、返回函数、闭包、装饰器、偏函数)
Python函数式编程的一般概念及特点, 迭代器、生成器表达式、内置函数、常用高阶函数、递归与归约、实用模块和装饰器的用法, 以及避开Python严格求值顺序的变通方法、Web服务设计方法和一些优化技巧。
297 1
【Python高级编程】—— 函数式编程总结(生成器、迭代器、匿名函数、高阶函数、返回函数、闭包、装饰器、偏函数)
|
分布式计算 开发者 Python
高阶函数| 学习笔记
快速学习高阶函数
高阶函数实战
高阶函数实战
75 0
|
分布式计算 Scala 开发者
高阶函数的介绍和使用 | 学习笔记
快速学习高阶函数的介绍和使用
|
存储 JavaScript 程序员
【函数式编程】基于JS进行函数式编程(二)高阶函数 | 函数代替数据传递 | 函数是一等公民 | 闭包 | 使用高阶函数实现抽象 | 数组的高阶函数
【函数式编程】基于JS进行函数式编程(二)高阶函数 | 函数代替数据传递 | 函数是一等公民 | 闭包 | 使用高阶函数实现抽象 | 数组的高阶函数
154 0