zoukankan      html  css  js  c++  java
  • 去抖(节流)


    * 去抖(节流)
    * 有一些浏览器事件可以很快地在短时间内多次触发,
    * 例如调整窗口大小、向下滚动页面、搜索框节流等
    * 如果你将事件监听器绑定到窗口滚动事件,并且用户不断快速地向下滚动页面,
    * 则你的事件可能在1秒内触发数千次。这可能会导致一些严重的性能问题
    * 解决这个问题的一种方法是去抖,通过限制再次调用函数之前必须经过的时间。
    * 因此,去抖的正确实现是将几个函数调用组合成一个,并且在经过一段时间后仅执行一次

    document.addEventListener('scroll', debounce(function () {
        console.log('hello');
    }, 1000));
    
    // @param {Function} fn 要节流的函数
    // @param {number} delay 延迟毫秒数
    

      

    debounce (fn, delay) {
      let timer = null
    
      return function(...args) {
        if (timer) {
         clearTimeout(timer)
       }
    
       timer = setTimeout(() => {
          fn.apply(this, args)
      }, delay)
    }
    }
  • 相关阅读:
    五种I/O模型
    Python socket服务
    Python 协程
    python openpyxl 简单使用
    python 文件夹压缩
    Python 多进程
    MySQL 自定义函数
    python 队列
    python 多线程、线程锁、事件
    python paramiko模块:远程连接服务器
  • 原文地址:https://www.cnblogs.com/zuobaiquan01/p/9244460.html
Copyright © 2011-2022 走看看