防抖

  1. function debounce(fn, delay) {
  2. let timer = null;
  3. return function (...args) {
  4. clearTimeout(timer);
  5. timer = setTimeout(() => {
  6. fn.apply(this, args);
  7. }, delay);
  8. };
  9. }

节流

  1. function throttle(fn, delay) {
  2. let start = Date.now();
  3. return function(...args) {
  4. if (Date.now() - start >= delay) {
  5. start = Date.now();
  6. fn.apply(this, args);
  7. }
  8. };
  9. }

以上都是个人实现方法,感兴趣也可以自己搜索相关文章,如有意见欢迎留言,谢谢。