首页 > 其他 > 详细

高阶函数

时间:2020-01-21 18:34:57      阅读:72      评论:0      收藏:0      [点我收藏+]

一、包含函数参数的函数是高阶函数。

二、返回值是函数的函数是高阶函数。

三、例1:异步请求成功或者失败后调用函数,回调函数

// 参数callback为一个函数

function getUserInfo (userId, callback) {

  $.ajax({

    type: ‘GET‘,

    url: ‘http://xxx.com/getUserInfoById?userId=‘ + userId,

    success: function (result) {

      if (typeof callback === ‘function‘) {

        callback(result)

      }

    }

  })

}

四、数组的sort方法接受的参数也是一个函数。

五 、例2:函数节流

function throttle (fn, interval) {

  let _fn = fn

  let timer

  let isFirstCall = true

  return function () {

    let args = arguments

    let _this = this

    if ( isFirstCall ) {

      _fn.apply(_this, args)

      isFirstCall = false

      return false

    }

    if (timer) {

      return false

    }

    timer = setTimeout(function () {

      clearTimeout(timer)

      timer = null

      _fn.apply(_this, args)

    }, interval || 800)

  }

}

高阶函数

原文:https://www.cnblogs.com/shulan-hu/p/12222011.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!