Назад к вопросам
Транснефть
Middle
2
Что такое debounce? Напиши функцию debounce без использования библиотек на vanilla JS
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Debounce — это техника программирования, которая ограничивает частоту вызова функции. Если функция вызывается часто (например, при вводе текста или прокрутке), debounce гарантирует, что она выполнится только после того, как прошло определённое время с момента последнего вызова.
Это полезно для оптимизации производительности и предотвращения избыточных операций.
Пример функции debounce на vanilla JS:
function debounce(func, delay) {
let timeoutId;
return function(...args) {
clearTimeout(timeoutId);
timeoutId = setTimeout(() => {
func.apply(this, args);
}, delay);
};
}
// Использование:
const handleResize = debounce(() => {
console.log('Окно изменено');
}, 300);
window.addEventListener('resize', handleResize);
В этом примере handleResize будет вызвана не чаще, чем раз в 300 миллисекунд после последнего события resize.