关于前端:帮你搞懂防抖和节流

75次阅读

共计 688 个字符,预计需要花费 2 分钟才能阅读完成。

防抖和节流

原文链接:https://note.noxussj.top/?source=sifo

什么是防抖?

是指一个事件在同一时间内被屡次频繁触发后,最终只会执行一次。屡次触发后会从新计算工夫,只失效最初一次触发。

根底案例

可通过定时器来实现

var timer = 0
function click() {clearTimeout(timer)
timer = setTimeout(function () {console.log('鼠标单击触发')
}, 1000)
}
document.addEventListener('click', click)
利用场景

提交按钮:所有提交后要调用接口的按钮都能够增加防抖,防止屡次调用反复接口。

浏览器窗口缩放:在一些特定时候须要监听浏览器窗口变动,变动后从新渲染页面,应用防抖能够避免反复渲染。


什么是节流?

在规定工夫内,该事件只会被触发第一次。后续触发的事件将会被疏忽,直到计时完结。

根底案例

可通过定时器和锁定标识实现。

var isLock = false
function click() {if (isLock) return
isLock = true
setTimeout(function () {console.log('鼠标单击触发')
isLock = false
}, 1000)
}
document.addEventListener('click', click)
利用场景

搜寻框联动查问:用户在搜寻框输出内容值,可定时查问接口返回展现的内容。

获取验证码性能:获取手机验证码后,在规定工夫内无奈在进行获取。


原文链接:https://note.noxussj.top/?source=sifo

正文完
 0