FrontendDeveloper.in

JavaScript question detail

What is throttling?

Throttling is a programming technique used to control the rate at which a function is executed. When an event is triggered continuously—such as during window resizing, scrolling, or mouse movement—throttling ensures that the associated event handler is not called more often than a specified interval. This helps improve performance by reducing the number of expensive function calls and preventing performance bottlenecks.

Common use cases:

  • Window resize events
  • Scroll events
  • Mouse movement or drag events
  • API rate limiting

How does throttling work? Throttling will execute the function at most once every specified time interval, ignoring additional calls until the interval has passed.

Example: Throttle Implementation and Usage

JavaScript

// Simple throttle function: allows 'func' to run at most once every 'limit' ms
function throttle(func, limit) {
let inThrottle = false;
return function(...args) {
if (!inThrottle) {
func.apply(this, args);
inThrottle = true;
setTimeout(() => (inThrottle = false), limit);
}
};
}

// Usage: throttling a scroll event handler
function handleScrollAnimation() {
console.log('Scroll event triggered');
}

window.addEventListener(
"scroll",
throttle(handleScrollAnimation, 100) // Will run at most once every 100ms
);
Back to all JavaScript questions
Get LinkedIn Premium at Rs 399