实现防抖函数
// 防抖就是,事件触发 delay 秒后再执行,如果有重新的触发,重新计时
function debounce(func, delay) {if(typeof func !== 'function') {return}let timer = 0return function () {if (timer) {clearTimeout(timer)timer = null}timer = setTimeout(() => {func.apply(this, arguments)}, delay);}}
function setName(name) {console.log('防抖', name)
}
const debounceSetName = debounce(setName, 100)
debounceSetName('1')
setTimeout(() => {debounceSetName('2')
}, 100);
setTimeout(() => {debounceSetName('3')
}, 200);