美文网首页
也来谈一谈节流和防抖

也来谈一谈节流和防抖

作者: 织雪纱奈 | 来源:发表于2018-05-26 17:10 被阅读8次

代码只有敲一遍看到结果才会印象深刻,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>

相关文章

  • 也来谈一谈节流和防抖

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

  • 谈谈js中的节流和防抖函数

    关于节流和防抖,这篇文章说的很好了,深入lodash源码分析防抖和节流深入篇 | Lodash 防抖和节流是怎么实...

  • JavaScript防抖和节流

    1. 认识防抖和节流 1.1. 对防抖和节流的认识 防抖和节流的概念其实最早并不是出现在软件工程中,防抖是出现在电...

  • 节流和防抖函数

    节流和防抖函数 节流和防抖都是处理高频调用某一函数的处理方法,通过设置触发间隔来减少执行的次数。例如窗口的resi...

  • 前端性能优化-浅谈js防抖和节流

    浅谈js防抖和节流

  • 如何理解debounce和throttle?

    前端工程师们都听过看起来很高级的词,节流和防抖,其实节流就是debounce,防抖就是throttle,其实这个也...

  • Javascript 基础

    1、函数防抖和函数节流 【《javascript高级程序设计》里,函数节流是这里讲的函数防抖。】函数防抖: 在事件...

  • js 防抖 节流

    节流 防抖1 防抖2

  • 2019-03-27

    js的防抖和节流 据我所知防抖和节流都是为了优化作用,减轻浏览器和服务端的负担,防抖和节流俩个的英文要记住: de...

  • js的防抖和节流

    js的 防抖(debounce)和 节流(throttle ) 防抖和节流一般用于高频触发事件,属于浏览器性能优化...

网友评论

      本文标题:也来谈一谈节流和防抖

      本文链接:https://www.haomeiwen.com/subject/wfwmjftx.html