#Exempel de variable static , function dans le retour #https://css-tricks.com/the-difference-between-throttling-and-debouncing/ // Pratique au lieu setTimout function throttle(fn, threshhold, scope) { threshhold || (threshhold = 250); var last, deferTimer; return function() { var context = scope || this; var now = +new Date, args = arguments; if (last && now < last + threshhold) { clearTimeout(deferTimer); deferTimer = setTimeout(function() { last = now; fn.apply(context, args); }, threshhold); } else { last = now; fn.apply(context, args); } }; } Usage avance avec Underscore: $("body").on('scroll', _.throttle(function() { }, 100)); $(window).on('resize', _.debounce(function() { }, 100));