为了账号安全,请及时绑定邮箱和手机立即绑定

关于节流函数

关于节流函数

拉风的咖菲猫 2018-12-28 23:14:02
最近再学习作图片懒加载,其中要做滚动函数节流,看到这样一段代码// 简单的节流函数//fun 要执行的函数//delay 延迟//time  在time时间内必须执行一次function throttle(fun, delay, time) {    var timeout,        startTime = new Date();    return function() {        var context = this,            args = arguments,            curTime = new Date();        clearTimeout(timeout);        // 如果达到了规定的触发时间间隔,触发 handler        if (curTime - startTime >= time) {            fun.apply(context, args);            startTime = curTime;            // 没达到触发间隔,重新设定定时器        } else {            timeout = setTimeout(fun, delay);        }    };};// 实际想绑定在 scroll 事件上的 handlerfunction lazyload(event) {}// 采用了节流函数window.addEventListener('scroll',throttle(lazyload,500,1000));别的都能看懂,但是里面var content=this那里没看懂,这里的this不是window吗?后面fun.apply(content,args);岂不是把fun的this绑定为window;这样有什么目的? 前端小白,求指导
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 492 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信