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");

目录
相关文章
|
前端开发 JavaScript
|
JSON JavaScript 前端开发
81jqGrid - 多个汇总值
81jqGrid - 多个汇总值
64 0
|
12月前
|
分布式计算 Java 大数据
大数据-147 Apache Kudu 常用 Java API 增删改查
大数据-147 Apache Kudu 常用 Java API 增删改查
116 1
HTTP慢速攻击详解
HTTP慢速攻击详解
222 7
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
使用Pandas在Python中创建数据透视表的步骤包括:安装Pandas库,导入它,创建或读取数据(如DataFrame),使用`pd.pivot_table()`指定数据框、行索引、列索引和值,计算聚合函数(如平均分),并可打印或保存结果到文件。这允许对数据进行高效汇总和分析。
296 2
|
机器学习/深度学习 数据采集 运维
高效处理异常值的算法:One-class SVM模型的自动化方案
高效处理异常值的算法:One-class SVM模型的自动化方案
460 1
|
运维 数据中心 数据安全/隐私保护
【Terraform实现云服务基础设施既代码(IaC)案例实战-3】:Terraform+Docker+Portainer+Gitlab+GitlabRunner搭建Tree项目
前言树苗科技公司业务上云2年有余,随着技术的不断发展。运维团队支持业务变更配置、开资源、删资源等过程加班到深夜一两点已是家常便饭。为了进一步提升工作效率,运维总监张三决定对当前业务交付路径进行统一梳理,借助IaC的理念和Terraform自动化工具逐步实施运维生产自动化,改善组内成员频繁加班且重复劳...
708 57
【Terraform实现云服务基础设施既代码(IaC)案例实战-3】:Terraform+Docker+Portainer+Gitlab+GitlabRunner搭建Tree项目
|
弹性计算 安全 数据安全/隐私保护
远程桌面连接Windows实例,提示“为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多”错误解决方案
远程桌面连接Windows实例,提示“为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多”错误解决方案
2373 0
|
SQL 分布式计算 Java
Hive【Hive(三)查询语句】
Hive【Hive(三)查询语句】