在某些高频度触发的事件中绑定操作需要用到节流函数
如在页面大小发生改变时
window.addEventListener("resize",function () {
console.log(1)
})
这里并没有涉及到什么复杂的运算,如果我们需要监听页面大小变化执行复杂的运算时,浏览器可能会崩溃。
节流函数封装如下
function throttle(fn,context) {
clearTimeout(fn.tId)
fn.tId = setTimeout(function () {
fn.call(context)
},1000)
}
window.addEventListener("resize",throttle(show))
function show() {
console.log(1)
}
function throttle(fn) {
return function () {
clearTimeout(fn.tId)
fn.tId = setTimeout(fn,1000)
}
}
来源:CSDN
作者:叽里咕噜写代码
链接:https://blog.csdn.net/qq_38280242/article/details/104520067