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

js节流函数问题

js节流函数问题

小怪兽爱吃肉 2018-12-20 18:15:56
var throttle = function(fn, interval) { //fn为要执行的函数,interval为延迟时间  var _self = fn,  //保存需要被延迟执行的函数引用      timer,  //定时器      firstTime = true;  //是否第一次调用  return function() { //返回一个函数,形成闭包,持久化变量    var args = arguments, //缓存变量        _me = this;    if(firstTime) { //如果是第一次调用,不用延迟执行      _self.apply(_me, args);      return firstTime = false;    }    if(timer) { //如果定时器还在,说明上一次延迟执行还没有完成      return false;    }    timer = setTimeout(function() { //延迟一段时间执行      clearTimeout(timer);      timer = null;      _self.apply(_me, args);    }, interval || 500);  };};//使用window.onresize = throttle(function() {  //你要执行的代码}, 500);在网上看到的一个节流函数。有点不太懂,上面的var args = arguments, //缓存变量这里的arguments指的是什么。
查看完整描述

1 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

下面有个调用arg啊

_self.apply(_me, args); //这里如果用arguments就是匿名函数的了


查看完整回答
反对 回复 2019-01-06
  • 1 回答
  • 0 关注
  • 576 浏览
慕课专栏
更多

添加回答

举报

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