JS的防抖与限流/闭包
JS的防抖与限流
JS防抖
理解:将多次操作变成一次
实现示例:
function antiShake(fn,wait){
let timeOut = null;
return args => {
if(timeOut) clearTimeOut(timeOut);
timeOut = setTimeout(fn,wait);
}
}
JS限流
理解:某一时间段内多个请求合并请求为一次
应用场景:1、提交表单 2、高频监听事件请求
实现实例:
function throttle(enent,time){
let timer = null;
return function(){
if(!timer){
timer = setTimeout(()=>{
event();
timer = null;
},time);
}
}
}
JS闭包
闭包:方法里面返回方法
存在的意义
- 延长变量的生命周期(全局变量和局部变量)
- 创建私有环境(独立的词法作用域)
Vue
中 data()
为什么是一个函数
data(){
return {
}
}
一个经典的闭包示例:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!