函数节流和防抖简单实现

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/XiaChongYuFei/article/details/80255453
//等delay时间执行一次
function debounce(fn, delay){
  let timer = null;
  return function(){
    let context = this;
    let args = arguments;
    clearTimeout(timer);
    timer = setTimeout(() => {
      fn.apply(context, args);
    }, delay);
  }
}
//每隔delay执行一次
var throttle = function(func, delay){
  var prev = Date.now();
  return function(){
      var context = this;
      var args = arguments;
      var now = Date.now();
      if(now-prev>=delay){
          func.apply(context,args);
          prev = Date.now();
      }
  }
}
展开阅读全文

没有更多推荐了,返回首页