防抖和节流是JavaScript中常用的优化技术,用于控制函数的执行频率,以提升用户体验和性能。本文将详细介绍防抖和节流的概念,并给出相应的源代码示例。
防抖(Debounce)
防抖是指在事件被触发后等待一定时间再执行回调函数,如果在等待时间内再次触发了该事件,则重新计时。这样可以避免在短时间内频繁触发事件导致函数被执行多次,常用于处理输入框输入事件、窗口调整大小事件等。
下面是一个实现防抖功能的JavaScript函数:
function debounce(func, delay) {
let timeoutId;