也来谈一谈节流和防抖

代码只有敲一遍看到结果才会印象深刻,so实践一遍吧

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        #box{
            width: 100%;
            height: 300px;
            background: pink;
        }
    </style>
</head>
<body>

    <div id="box"></div>    
    <script>

    function throFun(){
        console.log('执行真正的函数')
    }
    // 这里可以点击粉色区域,更换函数debounce感受一下不同
    var thro = throttle (throFun,1000);

    box.addEventListener('click' , function(){
        thro();
    })

    //函数节流
    function throttle (func,delay){
        var prev = Date.now();
        return function(){
            console.log('被触发')
            var context = this;
            var args = arguments;
            var now = Date.now();
            if(now-prev>=delay){
                func.apply(context,args);
                prev = Date.now();
            }
        }
    }
    // 函数节流给人的感受是上次执行时间和第二次执行时间相隔一定秒。否则不会被执行真正的函数
    // 上面函数返回是一个闭包,prev不会被清除掉,并且每次prev都会更新为最后一次执行的时间
    // 要么不会执行,要么就立即执行不会等待
    

    
    //函数防抖
    function debounce(method,time){
        var timer = null;
        return function(){
            console.log('被触发')
            var context = this;
            //在函数执行的时候先清除timer定时器;
            
            console.log(timer)
            clearTimeout(timer);
            timer = setTimeout(function(){
                method.call(context);
            },time);
        }
    }
    //防抖给人的感受是执行后等待一定时间才会被执行
    //如果在等待的时间内又被触发,以最后的为准 因为上次的被clear掉了
    //总之一定会等待规定时间秒才会被执行
    

    </script>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 漂泊的心易感到孤寂, 孤寂的目光最想覓到希冀; 其實, 人每時每刻都踏在選擇點上, 瞬間可以萬念放下, 又可以奢求...
    菩提大叔阅读 153评论 0 0
  • 今天到学校已经8点了,没有学习,就只写了一个简单的学习计划就直接回来了。索性也没让自己闲着回来以后洗衣服,收拾东西...
    123木头人i阅读 213评论 0 1
  • 今天是一个有意义的日子。参加小学毕业20周年同学会,回到儿时的校园,见到了久违的同学们,这里的一草一木曾见证我们快...
    田田教练阅读 246评论 0 1
  • 这句话是不是特别的雷人?第一次看到的时候,我也是久久不能平静,整天忙工作,不是赚钱吗?怎么就没时间赚钱了呢?仔细多...
    天涯Michael阅读 2,651评论 0 1
  • 从八月份生病到现在都有四个月了,一直没有好的彻底,就像心里的一个疙瘩没有解开,时好时坏,可是没人能体会我的心情,我...
    淡雅默默阅读 131评论 2 1