js性能优化(持续补充)

77 阅读1分钟

1. 场景:监听页面变化->做一些事情

old 频繁执行

function init() {
    console.log('resize')
}
window.addEventListener('resize', init)

new 延迟执行: 每次会清空上个定时器

function init() {
    console.log('resize')
}
function fun(delay, callback) {
    let timer
    return function() {
        // 清空计时器
        clearTimeout(timer)
        timer = setTimeout(() => {
            callback.apply(this, arguments)
        }, delay)
    }
}
window.addEventListener('resize', fun(100, init))