防抖的目的:为了减少因函数的频繁调用而加重浏览器负担
防抖:在指定时间内,同一函数只能被触发一次,该时间过后可再次触发
/* @param fn 函数 */ function debounce(fn) { let time = null; return function () { //清除前一个定时器 clearTimeout(time); //创建新的定时器,使用apply修复this指向 time = setTimeout(() => { a.apply(this, arguments) }, 1000) } } function a() { let scrollTop = document.documentElement.scrollTop||document.body.scrollTop; console.log('top-->',scrollTop) } window.onscroll = debounce(a)
来源:https://www.cnblogs.com/aruanmei/p/12458359.html