tg-me.com/frontendproglib/6206
Last Update:
Debounce и Throttle — техники управления частотой срабатывания событий в браузере.
Почему важно:
Как работают:
Как внедрить:
1. Debounce — пример на JS:
function debounce(fn, delay) {
let timer;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => fn(...args), delay);
};
}
window.addEventListener('resize', debounce(() => {
console.log('Resize обработан');
}, 300));
2. Throttle — пример на JS:
function throttle(fn, limit) {
let last = 0;
return (...args) => {
const now = Date.now();
if (now - last >= limit) {
last = now;
fn(...args);
}
};
}
window.addEventListener('scroll', throttle(() => {
console.log('Scroll обработан');
}, 200));
3. Используйте готовые библиотеки, например lodash.
4. Тестируйте производительность через DevTools — уменьшение количества вызовов улучшает отзывчивость.
#буст