高阶函数

Posted paul-yellow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高阶函数相关的知识,希望对你有一定的参考价值。

高阶函数

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

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

 















以上是关于高阶函数的主要内容,如果未能解决你的问题,请参考以下文章

Python高阶函数

浅谈JS高阶函数

Python3 高阶函数

python之高阶函数

python中的高阶函数

高阶函数编程