码迷,mamicode.com
首页 > 其他好文 > 详细

高阶函数

时间:2019-02-21 12:47:24      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:string   prot   inner   tostring   color   pre   str   分离   iss   

高阶函数

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

  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‘))

 






高阶函数

标签:string   prot   inner   tostring   color   pre   str   分离   iss   

原文地址:https://www.cnblogs.com/Paul-Yellow/p/10411547.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!