防抖节流打包

防抖和节流(详细) 使用场景和区别 1.防抖 (多次触发 只执行最后一次) 作用: 高频率触发的事件,在指定的单位时间内,只响应最后一次,如果在指定的时间内再次触发,则重新计算时间 防抖类似于英雄联盟回城6秒,如果回城中被打断,再次回城需要再等6秒 实现代码: <body> <input type="text" id="inp"> <script> // 1.封装防抖函数 function debounce(fn, time) { 阅读详情

防抖
 

function debounce(fn,delay){
    let timer = null //借助闭包
    return function() {
        if(timer){
            clearTimeout(timer)
        }
        timer = setTimeout(fn,delay) // 简化写法
    }
}
// 然后是旧代码
function showTop  () {
    var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
  console.log('滚动条位置:' + scrollTop);
}
window.onscroll = debounce(showTop,1000) // 为了方便观察效果我们取个大点的间断值,实际使用根据需要来配置

//fn:为业务逻辑,delay:为监测时间

节流

function throttle(fn,delay){
    let valid = true
    return function() {
       if(!valid){
           //休息时间 暂不接客
           return false 
       }
       // 工作时间,执行函数并且在间隔期内把状态位设为无效
        valid = false
        setTimeout(() => {
            fn()
            valid = true;
        }, delay)
    }
}
/* 请注意,节流函数并不止上面这种实现方案,
   例如可以完全不借助setTimeout,可以把状态位换成时间戳,然后利用时间戳差值是否大于指定间隔时间来做判定。
   也可以直接将setTimeout的返回的标记当做判断条件-判断当前定时器是否存在,如果存在表示还在冷却,并且在执行fn之后消除定时器表示激活,原理都一样
    */

// 以下照旧
function showTop  () {
    var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
  console.log('滚动条位置:' + scrollTop);
}
window.onscroll = throttle(showTop,1000) 


 

防抖(debounce) 和 节流(throttling) 防抖和节流是针对响应跟不上触发频率这类问题的两种解决方案。 在给DOM绑定事件时,有些事件我们是无法控制触发频率的。 如鼠标移动事件onmousemove, 滚动滚动条事件onscroll,窗口大小改变事件onresize,瞬间的操作都会导致这些事件会被高频触发。 如果事件的回调函数较为复杂,就会导致响应跟不上触发,出现页面卡顿,假死现象。 在实时检查输入时,如果我们绑定onkeyup事件发请求去... 阅读详情

相关推荐

前段面试题与uni.app打包生成发布

uni.app打包发布

weixin_65308648的博客 1566

防抖和节流

防抖和节流

baidu_39009276的博客 5万+

vue项目难点

/ 如果time不为0,也就是说有定时器存在,将该定时器清除。// 第一个参数是需要进行防抖处理的函数,第二个参数是延迟时间,默认为1秒钟。// 防抖函数会返回另一个函数,该函数才是真正被调用的函数。// time变量用于保存setTimeout返回的Id。1.在开发环境下,使用axios进行数据交互时,遇到跨域问题。// 实现防抖函数的核心是使用setTimeout。3.减少服务器请求,对按钮进行防抖节流处理。// 返回_throttle函数。2.打包之后页面空白的问题。

W19808的博客 803

节流(throttling)和防抖(debouncing)

节流(throttling)和防抖(debouncing)是在处理用户输入和其他事件时常用的两种性能优化技巧。它们的主要目的是控制事件触发的频率,以避免不必要的重复操作,减轻系统负担,提高用户体验。

qq_41546003的博客 9089

前端性能优化常见面试题目|CDN的概念,作用,原理,使用场景, 回流与重绘的概念及触发条件,构建速度,优化动画,图片进行优化,节流与防抖,常见的图片格式及使用场景,提⾼webpack的打包速度,

CDN(Content Delivery Network,内容分发网络)是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。典型的CDN系统由下面三个部分组成:● 分发服务系统:最基本的工作单元就是Cache设备,cache(边缘cache)负责直接响应最终用户的访问请求,把缓存在本地的内容快速地提供给用户。

VAN 217

微机原理与接口技术第六版周荷琴课后习题答案及解析(期末重点)

第二章 1.8086/8088CPU可直接寻址多少个内存(字节)单元?多少个I/O端口?它们的外部数据总线各有多少根? 8086/8088CPU使用的是20位地址总线,因此可以直接寻址2的20次方个内存单元(即1,048,576),每个单元大小为1字节,因此可以直接寻址2的20次方个字节的内存。 8086/8088CPU有64K个I/O端口,每个端口占用1字节的地址空间,因此可以直接寻址6...

Wmicheng的博客 1万+

项目打包优化和防抖节流(最简约)

一、项目打包优化 分析工具 Coverage:查看代码的使用状况 Coverage 是chrome开发者工具的一个新功能,从字面意思上可以知道它是可以用来检测代码在网站运行时有哪些js和css是已经在运行,而哪些js和css是还没有用到的,如图,这是我在打开csdn网页时,所显示的已运行和尚未运行的代码情况。 那这个新功能有什么作用呢? 如上图所示,最右边显示的是我们加载的css和js文件数量,红色区域表示已运行的代码,而青色表示已加载但未运行的代码。可用来发现页面中尚未用到的js 和 cs...

Mark Sheng的博客 626

SAP成本计划BAPI接口BAPI_COSTACTPLN_POSTPRIMCOST深度解析与实战指南

在SAP ERP系统中,成本计划是财务与控制模块的核心功能,它涉及对企业未来成本支出的预测与规划。其原理是通过结构化数据模型,将成本要素分配到具体的成本对象上,以实现预算编制和成本控制。这一技术的核心价值在于实现成本数据的标准化、自动化处理,从而提升财务流程效率与数据准确性。在应用场景上,成本计划广泛应用于年度预算编制、项目成本预测、系统间数据集成以及历史数据迁移等关键业务环节。本文聚焦于实现上述流程自动化的关键技术——SAP标准接口BAPI_COSTACTPLN_POSTPRIMCOST,并深入探讨其在高

weixin_29657209的博客 350

学习笔记:打包,防抖,节流

打包 在vue.config.js里进行修改 去除map,productionsourcemap:false 在小黑框内输入npm run build进行打包 打包后生成dist文件目录 对dist进行文件资源压缩图片压缩,去除打印,对文件记录配置cdn,压缩 然后再进行打包 项目打包优化实践 https://www.jianshu.com/p/e0d00c81e412. 防抖函数的作用就是控制函数在一定时间内的执行次数。防抖意味着 N 秒内函数只会被执行一次(最后一次),如果 N 秒内再次被触发,则重新计

weixin_45569614的博客 176

国产麒麟系统中的PaddleOCR离线绿色部署:高效安全的文字识别新纪元

摘要:本文详细介绍了PaddleOCR在银河麒麟V10SP1系统上的离线部署方案。通过Conda虚拟环境隔离依赖,采用离线包安装方式实现无网络部署,支持80+语言识别。重点讲解了模型量化剪枝优化、多线程处理等性能调优技巧,并提供了完整的OCR识别代码示例。该方案具有数据本地化处理的安全优势,适用于医疗票据数字化等对隐私要求严格的场景,同时解决了模型加载失败、内存不足等常见问题。

墨夶的博客 1228

【windows】【系统还原】亦是美kms执行一键关闭defender 之后,windows defender 被卸载了,无论如何都打不开

还是执行 都没有明显效果 那么,我最后是怎么解决得呢? 一、打开控制面板(任务栏搜索kzmb)

weixin_41899098的博客 6909

前端模块化、防抖和节流

----------------------------------------------- 前端模块化进化史: (1)在没有模块化的年代里,前端是把HTML css javascript写到一个HTML文件里面,这样的话代码耦合度,项目维护起来非常困难。 (2)把css javascript代码分开写,通过script、link标签的方式去导入css、javascript文件,缺点...

lishundi的博客 218

模糊控制——基本原理(附MATLAB程序)

模糊化:使用隶属函数将实际输入转换为模糊集合的隶属度值。规则库:利用“如果-那么”规则将模糊输入映射到模糊输出。推理机制:通过规则的模糊化和模糊集合的合成,生成模糊输出。去模糊化:将模糊输出转换为具体的控制信号,常用的方法包括质心法和最大隶属度法。这些步骤综合起来,实现了模糊控制系统对复杂和不确定系统的有效控制。模糊控制系统通过结合模糊逻辑和规则库来处理复杂系统中的不确定性和模糊性。它的核心在于模糊集合和隶属函数,通过推理机处理模糊规则,并最终通过去模糊化生成具体的控制信号。

qq_35623594的博客 5559

面试前端性能优化八股文十问十答第二期

面试必备八股文!内容包含:Java基础、Java框架、Git命令、JVM、多线程、消息队列、微服务、Linux、数据库、Redis缓存、算法、Vue、React、前端性能优化等八股文。

qq_67358181的博客 1829

基于Simulink的自适应反步法(Adaptive Backstepping)控制​

本文针对非线性系统控制中未知参数和强非线性耦合的挑战,提出基于Simulink的自适应反步法解决方案。通过融合参数在线估计与反步递归设计,该方法显著提升了永磁同步电机(PMSM)速度控制的鲁棒性,使跟踪误差从20%降至3%,参数估计收敛时间小于0.5秒。文章详细阐述了从算法推导到Simulink实现的完整流程,包括系统架构设计、核心算法推导(以PMSM为例)、模块化建模方法、参数优化策略以及工程部署建议。提供的自适应控制器MATLAB代码和关键参数表可直接应用于实际工程,为电机驱动、机械臂等非线性系统控制提

xiaoheshang_123的博客 101

《YOLOv8:从入门到实战》专栏介绍 & 专栏目录

本专栏涵盖了丰富的YOLOv8算法从入门到实战系列教程,专为学习YOLOv8的同学而设计,堪称全网最详细的教程!🌈🌈🌈

小哥谈 6491

前端知识总结五

前端知识点日常总结

FYH......的博客 144

GEE:哨兵时间序列遥感数据和动态阈值方法计算物候时期EOS/SOS(2)

本文将分享和解释论文《Improved Estimates of Arctic Land Surface Phenology Using Sentinel-2 Time Series》中使用到的基于阈值估算北极地区的植被物候,特别是北极地区的植被季节开始和结束的日期(SoS和EoS)的方法和代码。该方法使用的是使用哨兵2数据,并实现了两种阈值方法( 无平滑的阈值方法、平滑后的阈值方法)。

养乐多的博客 2971

Vue 3 项目的性能优化实战!

在现代 Web 开发中,应用性能已成为影响用户体验和 SEO 排名的重要因素之一。特别是在使用Vue 3进行开发时,如何优化性能、提高加载速度和响应能力是开发者必须关注的问题。本篇文章将详细探讨 Vue 3 项目的性能优化技巧,涵盖打包体积分析与优化懒加载与按需引入策略虚拟滚动与长列表优化事件处理优化与节流防抖,以及Lighthouse 性能评估与优化实操等内容,通过实战案例帮助开发者提升 Vue 3 项目的性能。在Vue 3 项目中进行性能优化,可以通过一系列的优化策略提升应用的加载速度和响应能力。通过。

2201_75863687的博客 1334

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

如何优化Uniapp应用程序的性能?

避免频繁的重绘和重排:频繁的DOM操作会导致浏览器频繁的重绘和重排,影响性能。使用v-for中的key属性:在使用v-for渲染列表时,为每个列表项添加唯一的key属性,这样可以减少渲染的次数,提高渲染的效率。减少页面加载时间:避免页面过多和过大的组件,减少不必要的资源加载。使用图片懒加载:对于图片较多的场景,可以使用图片懒加载的方式,当图片进入用户可视范围时再进行加载,减少初始页面加载的时间。节流和防抖:对于频繁触发事件的场景,可以使用节流和防抖的方法来减少事件处理的频率,从而提高性能。

weixin_59525879的博客 1760

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

[特殊字符] 前端面试“必杀技“:高频考点深度剖析 [特殊字符]

webpack是一个静态模块打包工具,他从入口文件main.js开始解析依赖,通过loading加载数据,将非js文件转换成js文件。通过plugin扩展一些功能,像使用HTMLwebpackplugin生成HTML文件,通过Terserplugin压缩文件,最后将其合并并打包。proxy是一个对象拦截器,它通过定义一些陷阱方法,执行一系列的操作。常见的陷阱方法有set()设置属性,get()获取属性,deleteProperty()删除属性。双向数据绑定时指数据变化视图更新,视图变化数据更新。

2301_80346402的博客 724

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【面试题】2024当面试官问我前端可以做的性能优化有哪些_前端面试问项目做了哪些优化

小编综合了阿里的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析。

2401_87288729的博客 648

前端面试刷题必备(前端性能优化篇)

提升开发体验使用 Source Map 让开发或上线时代码报错能有更加准确的错误提示。提升 webpack 提升打包构建速度使用 HotModuleReplacement 让开发时只重新编译打包更新变化了的代码,不变的代码使用缓存,从而使更新速度更快。使用 OneOf 让资源文件一旦被某个 loader 处理了,就不会继续遍历了,打包速度更快。使用 Include/Exclude 排除或只检测某些文件,处理的文件更少,速度更快。

陈梵的博客 1082

前端优化

页面结构优化 1:dom树简介明了 语义化明确 没有多余的节点亢余; 2:选择器使用高级选择器 加快运行效率; 3:使用es6语法来简化js操作; 4:使用less,sass等预处理器来加快开发效率,减少代码量; 5:页面组件化封装,事件模块化封装,来达到页面代码量精简,易于维护的目的; 6:多小图标时,尽量使用精灵图来替代常规的png图片操作; 7:能css处理的效果就别拿js来处理,减少dom操作; 8:减少重排与重绘; 9:在js中尽量减少闭包的使用(内存泄露); 10:减少css表达式的使用;

weixin_51682602的博客 246

【前端实习生备战秋招】—前端性能优化篇,建议收藏

PNG是一种比较新的图片格式,PNG-8是非常好的GIF格式替代者,在可能的情况下,应该尽可能的使用PNG-8而不是GIF,因为在相同的图片效果下,PNG-8具有更小的文件体积。JPEG的图片的优点是采用了直接色,得益于更丰富的色彩,JPEG非常适合用来存储照片,与GIF相比,JPEG不适合用来存储企业Logo、线框类的图。受限于 Node 是单线程运行的,所以 Webpack 在打包的过程中也是单线程的,特别是在执行 Loader 的时候,长时间编译的任务很多,这样就会导致等待的情况。

道阻且长,行则将至。 707
下一篇: 前后端分离中 当post请求返回参数要求为空对象,请求报错400
l_tsov
博客等级 码龄5年 1粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值