共计 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
正文完