首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
web3366
广州大学 Web前端
关注
已关注
取消关注
防抖的目的是确保在指定的时间间隔内,函数只被执行一次,而节流是限制函数在一定时间内被调用的次数
@阿珊和她的猫:
面试高频手撕题 | 23.实现一个防抖和节流
一、知识点 防抖和节流都是在 JavaScript 中常见的用于优化性能的技术。 防抖:是一种在短时间内多次触发同一事件,只执行最后一次或只在开始时执行的技术。它的目的是减少不必要的事件调用,避免在短时间内频繁执行某个操作。 节流:是一种限制某个函数在一定时间内只能被调用一次的技术。它的目的是控制函数的调用频率,减少不必要的性能消耗。 二、思路分析 防抖的思路:在事件被触发后,延迟一定时间执行回调函数,如果在延迟时间内该事件再次被触发,则重新计时,直到延迟时间内没有再次触发事件,才执行回调函数。 节流的思路:在指定的单位时间内,只允许触发一次函数,如果该单位时间内触发多次函数,只有一次生效。 三、JavaScript 解答 防抖的实现: function antiShake(fn,delay) { let timer; return function(...args) { // 清除定时器 clearTimeout(timer); // 使用定时器 timer = setTimeout(()=>{ fn.apply(this,args); },delay) }}const button = document.getElementById('myButton');// 绑定事件处理程序button.addEventListener('click', antiShake(()=>{ console.log('按钮被点击了')},1000)) 在上述示例中,使用setTimeout实现了防抖功能。在指定的单位时间内,只响应最后一次。 节流的实现 function throttling(fn,delay) { let flag = true; return function(...args) { if(flag) { flag = false; setTimeout(()=>{ fn.apply(this,args); flag = true },delay) } }}const button = document.getElementById('myButton');// 绑定事件处理程序button.addEventListener('click',throttling(()=>{ console.log('按钮被点击了')},1000)) 在上述示例中,使用了一个布尔值flag来控制函数的执行,实现了节流功能。 四、Java 解答 在 Java 中,你可以使用TimeUnit类来实现防抖和节流。 防抖的实现: import java.util.Timer;import java.util.TimerTask;public class Debounce { private Timer timer; private Runnable task;
点赞 2
评论 2
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
03-31 11:13
北京理工大学 数据库工程师
分享几个实用VibeCoding开源项目
发现几个在GitHub 上跟 Vibe Coding 强相关的开源项目,跟大家分享一下第一个:aicodeguidehttps://github.com/automata/aicodeguide如果是零基础,或者一直觉得“自己不懂编程,玩不转AI编程”,这个项目会适合你。它本质上是一份AI时代的编程路线图,不纠结于枯燥的语法教学,核心是教你怎么用Cursor、Bolt、Claude这些工具,通过合适的Prompt指令,把想做的事情落地完成。我一直把它当作Vibe Coding的“新手村”,零基础入门首选。第二个:vibe-coding-prompt-templatehttps://github...
你都用vibe codi...
点赞
评论
收藏
分享
04-02 10:30
东北农业大学 Java
CPU 飙高该如何排查
CPU 飙高排查我一般分三步:第一:确认是用户态还是系统态高,用 top 看 us/sy/wa第二:定位具体进程,再定位线程第三:结合线程栈分析是死循环、锁竞争、GC 频繁还是线程过多1)us 高、sy 低、wa 低含义:纯用户态计算,无阻塞、无系统调用、无 IO典型原因死循环复杂计算 / 递归JSON / 序列化疯狂正则回溯爆炸GC 线程疯狂(VM Thread、GC task)栈特征:大量 RUNNABLE,一直占 CPU 不释放一句话:us 高 sy 低 = 业务代码死循环 / 计算密集 / GC 频繁,直接 jstack 找 RUNNABLE 栈。2)sy 高、us 低 / 一般含义:...
查看1道真题和解析
点赞
评论
收藏
分享
03-03 23:42
复旦大学 Java
为啥找不到日常实习
目标后端
_无论云泥意贯一:
把复旦大学放前面,山东大学放后面,并且在两个大学后面标注985(用一些显眼的颜色标注)
点赞
评论
收藏
分享
03-10 09:03
武汉理工大学 Python
请教一下各位,现在测试这么难吗,投的简历都石沉大海,都是已读不回,帮我看看简历是不是要修改啊
今天你投了哪些公司?
点赞
评论
收藏
分享
04-02 16:22
门头沟学院 嵌入式软件工程师
新凯来 嵌入式软件开发 一面 感觉还行
投了新凯来的嵌入式软件开发岗,没想到一面就挺有深度的,面试官很专业,问的方向偏底层驱动和系统,基本上把嵌入式的核心知识点都覆盖了一遍。整体节奏不算快,但每道题都会追问细节,感觉不背八股是真的过不去,建议大家好好准备一下原理性的东西,光会用不够。总结嵌入式系统启动流程是怎样的?从芯片上电到main函数执行,中间经历了哪些关键步骤?讲一下你用过的RTOS,它的任务调度机制是怎样的?如何保证实时性?volatile关键字的作用是什么?在嵌入式开发中哪些场景下必须使用它?DMA是什么?在什么场景下使用DMA可以显著提升系统性能?I2C、SPI、UART三种通信协议各有什么特点?分别适用于哪些场景?中断...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
双非春秋招3月总结与收获
6098
2
...
4.2字节后端一面
4278
3
...
美团暑期二面,横向挂
4048
4
...
恒生电子笔试已燃尽
3672
5
...
26年最值得冲的产品项目是什么?一个过来人的大实话
3024
6
...
2026 产品岗春招|这种「稀缺管培生」该怎么准备?
2974
7
...
银行老学长带来点春招信息差
2751
8
...
恒生电子笔试
2651
9
...
28届双非本腾讯开发实习oc
1824
10
...
快手后端oc
1534
创作者周榜
更多
正在热议
更多
#
面试被问到不会的问题,你怎么应对?
#
24013次浏览
598人参与
#
牛友的志愿填报指南
#
62750次浏览
480人参与
#
厦门银行科技岗值不值得投
#
15473次浏览
355人参与
#
你觉得大几开始实习最合适?
#
27907次浏览
274人参与
#
uu们,春招你还来吗?
#
61803次浏览
706人参与
#
你见过哪些招聘隐形歧视?
#
23228次浏览
196人参与
#
招商银行数字金融训练营
#
106733次浏览
917人参与
#
面试中,你被问过哪些奇葩问题?
#
95510次浏览
1231人参与
#
学历VS实习,哪个更重要?
#
1294次浏览
37人参与
#
你都用vibe coding做过什么?
#
20499次浏览
779人参与
#
AI Coding实战技巧
#
14781次浏览
292人参与
#
哔哩哔哩笔试
#
34935次浏览
142人参与
#
如果人生可以debug你会改哪一行?
#
12339次浏览
157人参与
#
海康威视求职进展
#
132185次浏览
551人参与
#
应届生被毁约被毁意向了怎么办
#
65117次浏览
313人参与
#
你现在一天AI几次?
#
12687次浏览
126人参与
#
机械人你觉得今年行情怎么样?
#
7821次浏览
96人参与
#
面试紧张时你会有什么表现?
#
33689次浏览
201人参与
#
机械人,签完三方你在忙什么?
#
83773次浏览
265人参与
#
Claude Code泄露源码
#
14747次浏览
201人参与
#
做完笔试后你收到面试了吗?
#
25019次浏览
214人参与
#
恒生电子笔试
#
20820次浏览
156人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务