免费下载现成ppt网站,注册成立公司的基本流程,wordpress如何vip,程序设计教学网站开发节流#xff08;throttle#xff09;和防抖#xff08;debounce#xff09;是为了解决函数频繁触发而引发性能问题的两种优化方法。
节流#xff1a; 指定一个时间间隔#xff0c;在时间间隔内只执行一次函数#xff0c;即在一段时间内#xff0c;多次触发函数只执行一…节流throttle和防抖debounce是为了解决函数频繁触发而引发性能问题的两种优化方法。
节流 指定一个时间间隔在时间间隔内只执行一次函数即在一段时间内多次触发函数只执行一次。常见的应用场景如页面滚动、窗口大小调整等。
示例代码
function throttle(fn, delay) {let timer null;return function () {const context this;const args arguments;if (!timer) {timer setTimeout(() {fn.apply(context, args);timer null;}, delay);}};
}防抖 指定一个时间间隔在该时间间隔内重复触发函数时只执行最后一次。常见的应用场景如输入框输入、搜索框输入等。
示例代码
function debounce(fn, delay) {let timer null;return function () {const context this;const args arguments;clearTimeout(timer);timer setTimeout(() {fn.apply(context, args);}, delay);};
}