节流 防抖 技术

节流 防抖 技术节流优化网络请求预设一个函数只有大于等于执行周期时才会执行该函数 周期内调用该函数不执行如同水滴积累够一定重量后才会落下应用场景 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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 时序数据预测:ARIMA

    时序数据预测:ARIMA本文尝试应用 ARIMA 时间序列模型对具有明显季节规律的月度时序数据进行预测 样本数据来源于本人项目工作中的某地区某行业电量 已脱敏处理 外加搜集了部分外部宏观经济 气象数据 时间跨度 2017 年 1 月至今 思路 将原始时序数据进行周期分解为趋势部分 周期部分 残差部分 趋势部分应用 ARIMA 建模预测 周期部分取历年月均值 残差部分计算残差上界 残差下界并应用 Lasso 回归模型基于外部影响因素建模预测 最后对各部分结果采用不同方案进行叠加 经判断后选取最合理的方案结果作为最终预测结果 本文成果开发

    2025年5月9日
    10
  • 2021-02-04-scrapy爬虫案例1:爬取博客园新闻版块详情页-基础入门篇[通俗易懂]

    2021-02-04-scrapy爬虫案例1:爬取博客园新闻版块详情页-基础入门篇[通俗易懂]作者:Barranzi_注:本文所有代码、案例测试环境:1.Linux–系统版本:Ubuntu20.04LTS2.windows–系统版本:WIN1064位家庭版所需第三方库安装pillowpipinstallpillow-ihttps://pypi.douban.com/simplemysqlclientpipinstallmysqlclient-ihttps://pypi.douban.com/simple新建scrapy项目

    2022年6月26日
    25
  • 重新认识java(十) —- Enum(枚举类)[通俗易懂]

    重新认识java(十) —- Enum(枚举类)[通俗易懂]有的人说,不推荐使用枚举。有的人说,枚举很好用。究竟怎么使用,如何使用,仁者见仁智者见智。总之,先学会再说~

    2025年6月17日
    2
  • 如何查看某个端口被谁占用

    如何查看某个端口被谁占用

    2021年11月23日
    62
  • 机器学习:准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线

    机器学习:准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线以下第一部分内容转载自:机器学习算法中的准确率(Precision)、召回率(Recall)、F值(F-Measure)是怎么一回事摘要:数据挖掘、机器学习和推荐系统中的评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)简介。引言:在机器学习、数据挖掘、推荐系统完成建模之后,需要对模型的效果做评价。业内目前常常采用的评价指标有准确率(Precision)、召

    2022年5月13日
    56
  • js:如何获取select选中的值

    js:如何获取select选中的值我想获取select选中的value,或者text,或者……比如这个:<selectid=”select”><optionvalue=”A”url=”http://www.baidu.com”>第一个option</option><optionvalue=”B”url=”http://www.qq.com”>第二个option</option></select>一:JavaScript原生的…

    2025年8月10日
    4

发表回复

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

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