节流 防抖 技术

节流 防抖 技术节流优化网络请求预设一个函数只有大于等于执行周期时才会执行该函数 周期内调用该函数不执行如同水滴积累够一定重量后才会落下应用场景 1 连续点击按钮切需求为间隔请求例如页面的 刷新 按钮 2 上拉加载获取数据的 上拉加载 节流技术的实现原理获取 newDate 时间求的时间差来限制一定时间内只允许执行一次指定函数以此来达到限制网络请求

节流   优化网络请求

预设一个函数只有大于等于执行周期时才会执行该函数, 周期内调用该函数不执行 如同水滴积累够一定重量后才会落下

应用场景

1 连续点击按钮 切 需求为 间隔请求   例如  页面的【刷新】按钮 

2 上拉加载获取数据 的【上拉加载】

节流技术的实现原理  获取new Date() 时间 求的时间差  来限制一定时间内 只允许执行一次指定函数  以此来达到限制网络请求的需求

骨架函数如下

 var ODiv = document.getElementsByTagName('div')[0] var obtn = document.getElementsByTagName('button')[0] function jieliu(handle,wait) { var lastTime = 0 return function() { var nowTime = new Date().getTime() if(nowTime - lastTime > 2000) { handle() lastTime = nowTime } } } function buy() { ODiv.innerText = parseInt(ODiv.innerText) + 1 } obtn.onclick = jieliu(buy,2000)

防抖技术   优化页面请求性能

在前端开发中有一部分用户频繁的触发事件执行、而对于dom操作  资源加载这一类消耗性能的操作 可能会造成页面卡顿,客户端奔溃现象。。。函数节流  函数防抖就是为解决这类问题而生的

防抖  : 就像是公交司机等人全部上车才会触发    

使用场景    实时搜索   拖拽

函数骨架如下

// 防抖 var inp = document.getElementsByTagName('input')[0] var timer = null //防抖主函数 function fangdou(hand,laizy) { return function() { var _arg = arguments; var self = this clearTimeout(timer) timer = setTimeout(function() { hand.apply(self,_arg) },laizy) } } function ajax(e) { console.log(this.value); } //input事件执行的是防抖延迟后的函数 inp.oninput = fangdou(ajax,2000) 

什么是图片的懒加载?

当图片进入浏览器的可视区域,才加载该图片。这样大大加快了对与图片较多的页面的加载熟虑。例如一些较大型网上商城,一个页面有很多的图片,如果不使用懒加载,用户进入网页的速度会相当慢,这样用户体验可能就没那么好了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232572.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 深入剖析Springboot启动原理的底层源码,再也不怕面试官问了!

    深入剖析Springboot启动原理的底层源码,再也不怕面试官问了!大家现在应该都对Springboot很熟悉,但是你对他的启动原理了解吗?

    2022年6月7日
    30
  • android activity的跳转动画,实现activity跳转动画的若干种方式

    android activity的跳转动画,实现activity跳转动画的若干种方式第一种:(使用overridePendingTransition方法实现Activity跳转动画)在Activity中代码如下/***点击按钮实现跳转逻辑*/button1.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){/***在调用了startActivity方法之后…

    2022年5月21日
    36
  • redis在linux安装_安装win7系统卡在安装程序

    redis在linux安装_安装win7系统卡在安装程序1、首先上官网下载Redis压缩包,地址:http://redis.io/download选择一个稳定版下载。使用工具上传压缩文件到linux系统2、通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压操作cdRedistar-zkvfredis.tar.gz3、执行make命令对Redis解压后文件进行编译cdredismake4、编译完成之…

    2022年10月5日
    3
  • Redis很牛逼很秀!轻松实现实时订阅推送

    Redis很牛逼很秀!轻松实现实时订阅推送

    2022年2月13日
    56
  • synchronized 和Lock区别

    synchronized 和Lock区别区别如下 来源 lock 是一个接口 而 synchronized 是 java 的一个关键字 synchronized 是内置的语言实现 异常是否释放锁 synchronized 在发生异常时候会自动释放占有的锁 因此不会出现死锁 而 lock 发生异常时候 不会主动释放占有的锁 必须手动 unlock 来释放锁 可能引起死锁的发生 所以最好将同步代码块用 trycatch 包起来 finall

    2025年10月24日
    4
  • 电梯演说模板练习

    电梯演说模板练习各位领导/投资人/用户/合作伙伴:我们的产品是为了解决图书管理人员对学生借还图书管理不方便的问题,他们需要能够快速记录学生借还书的信息以及对学生信息的修改。但是现有的方案并不能很好的解决这些需求,我们利用扫码的方式,它能够让管理人员更加方便快捷进行管理。远远超过了XXX公司,同时,我们有专门的推广人员,多家广告媒体公司合作伙伴,能让大部分用户知道我们的产品,并进一步传播。转载于:https://…

    2022年6月3日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号