zoukankan      html  css  js  c++  java
  • 防抖和节流

    1.什么是函数节流?

    函数节流,一个函数执行一次后,只有大于设定的执行周期后才会执行第2次。

    -换句话说:有个需要频繁触发函数,出于性能优化角度,在规定时间内,只让函数触发的第一次生效,后面不生效。

    function throttle(fn,delay){

    // 记录上一次函数触发时间

    var lastTime = 0;

    return function (){

      // 记录当前函数触发的时间

    var nowTime = Date.now();

    if(nowTime - lastTime > delay){

    fn();

    //同步时间

    lastTime = nowTime;

    }

    }

    }

    document.onscroll = throttle(function(){ console.log('scroll事件被触发了‘+Date.now());},200)

    2.什么是函数防抖?

    一个需要频繁触发的函数,在规定时间内,只让最后一次生效,前面的不生效

    function debounce(fn,delay){

    // 记录上一次的延时器

    var timer = null;

    return function(){

    // 清除上一次的延时器

    timer= setTimeout(function(){ fn.apply(this);},delay);

    }

    }

    document.getElementById('btn').onclick = debounce (function(){console.log('点击事件触发’+Date.now();)},1000);

  • 相关阅读:
    简介&目录
    Lucas 定理
    扩展欧几里得算法(exgcd)
    【做题记录】CF23B Party
    【做题记录】CF1375D Replace by MEX
    【做题记录】CF194B Square
    SPFA
    dijkstra
    CSP-J&S 2020 游记
    中国剩余定理(CRT)
  • 原文地址:https://www.cnblogs.com/web-zxq/p/12826923.html
Copyright © 2011-2022 走看看