var fn = this;var throttled = false;returnif throttled return;throttled = true;fnapplynull arguments;setTimeoutthrottled = false;n;;;
가령 window.onscroll
event에 심어놓은 function이 불필요하게 너무 자주 실행되는 것을 방지하려는 목적으로 사용될 수 있는데, 간단한 사용법으로 다음과 같이 적용할 수 있다.
varconsole.log'test';;windowonscroll = logTestthrottle1000;
이렇게 해놓으면, 최대 1초에 한 번씩만 등록된 함수가 실행되면서 콘솔에 해당 메시지가 찍히는 것을 볼 수 있다. 비슷한 함수로 Underscore.js와 Lo-Dash에서도 모두 throttle이란 이름의 함수를 함께 제공하고 있음.
따온 곳: Functional Javascript Tools & Tricks – Tim Ruffles on Vimeo