zoukankan      html  css  js  c++  java
  • 函数节流与防抖

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

    应用的事件: onkeypress,onscroll,resize等事件

    用途:上拉加载、若隐若现的head头部...

    function throttle(fn, delay) {
    	//记录上一次函数触发的时间
    	var lastTime = 0;
        return function() {
            //记录当前函数触发的时间
            var nowTime = Date.now();
            
            if(nowTime - lastTime > delay){
                //函数this指向性的问题
                fn.call(this);
                //同步时间
                lastTime = nowTime;
            }
        }
    	
    }
    

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

    应用事件:oninput等

    用途: 用户输入文本自动联想匹配出一些结果供用户选择 (百度搜索)

    function debounce(fn, delay) {
        //记录上一次的延时器
        var timer = null;
        return function() {
            //清除延时器
            clearTimeout(timer);
            timer = setTimeout(function() {
                fn.call(this);
            }, delay)
        }
    }
    
  • 相关阅读:
    mock.js 模拟数据
    pa
    观察者模式
    WebSocket
    Nginx官方文档学习
    Java中文乱码解决
    Jersey+Spring+Maven(转)
    App架构经验总结(转)
    JSONP跨域的原理解析(转)
    mongoDB学习
  • 原文地址:https://www.cnblogs.com/TomAndJerry/p/11913801.html
Copyright © 2011-2022 走看看