博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高阶函数
阅读量:4313 次
发布时间:2019-06-06

本文共 986 字,大约阅读时间需要 3 分钟。

高阶函数

高阶函数是指至少满足下列条件之一的函数

  1. 函数可以作为参数被传递
把函数当作参数传递,这代表我们可以抽离出一部分容易变化的业务逻辑,把这部分业务逻 辑放在函数参数中,这样一来可以分离业务代码中变化与不变的部分。其中一个重要应用场景就 是常见的回调函数
var appendDiv = function (cb) {        for (var i = 0; i < 100; i++) {            var oDiv = document.createElement('div')            oDiv.innerHTML = i;            document.body.appendChild(oDiv)            if (typeof cb === 'function') {                cb(oDiv)            }        }    }    appendDiv(function (oDiv) {        oDiv.style.display = 'none'    })

 

  1. 函数可以作为返回值输出
相比把函数当作参数传递,函数当作返回值输出的应用场景也许更多,也更能体现函数式编 程的巧妙。让函数继续返回一个可执行的函数,意味着运算过程是可延续的。
// 判断数据类型    var Type = {}    for (var i = 0, type; type = ['String', 'Array', 'Number'][i++];) {        (function (type) {            Type['is' + type] = function (obj) {                return Object.prototype.toString.call(obj) === '[object ' + type + ']'            }        })(type)        console.log(1111)    }    alert(Type.isString('11111'))

 

 

转载于:https://www.cnblogs.com/Paul-Yellow/p/10411547.html

你可能感兴趣的文章
解决Android Studio启动项目后一直处于refreshing 'View' gradle project,快速解决亲测有效...
查看>>
4.12 | 学习笔记
查看>>
python开发【第一篇】:基础知识
查看>>
javascript的window.onload()方法和jQuery的$(document).ready()的对比
查看>>
mysql数据库维护(备份和还原)和性能提高
查看>>
第八章 springboot + mybatis + 多数据源
查看>>
Arab and North African Region,2002(Snakes & ladders)
查看>>
React中的Refs
查看>>
自己使用MySQL中的GROUP_CONCAT(CONCAT_WS())函数查询的数据显示不全的问题. 以及在后台开发中怎么设置使用....
查看>>
Mysql强制修改密码
查看>>
100
查看>>
新手springmvc web简单搭建过程-caidachun
查看>>
Inline Edit
查看>>
Mybatis generator生成工具简单介绍
查看>>
Shellshock漏洞复现
查看>>
邮箱爆破
查看>>
Parrot os安装docker及docker-compose
查看>>
Parrot os配置源更新
查看>>
HTTP/2 简介及https原理
查看>>
JS代码静态分析及挖掘
查看>>