/**
 * 节流函数
 * @param {Function} fn 回调函数
 * @param {Number} delay 间隔时间
 * @param {Boolean} immediate 回调函数是否立即执行
 * 返回二位数组中的某列的值
 */
function throttle(fn, delay, immediate = true) {
  if (immediate) {
    let nowTime;
    return function () {
if (!nowTime || Date.now() - nowTime >= delay) {
        fn.apply(null, arguments)
        nowTime = Date.now();
      }
    }
  } else {
    let timer;
    return function () {
      if (timer) {
        return;
      }
timer = setTimeout(() => {
        fn.apply(null, arguments);
        timer = null;
      }, delay)
    }
  }
}
全部评论

相关推荐

bLanK的小号:建议自己写一个比较新颖的项目,比如思维导图,在线文档,仿造postman,仿造一个组件库
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务