code: function throttle(func, ms) {
      var isThrottled = false,
        savedArgs,
        savedThis;
  
      function wrapper() {
        if (isThrottled) { // (2)
          savedArgs = arguments;
          savedThis = this;
          return;
        }
  
        func.apply(this, arguments); // (1)
        isThrottled = true;
  
        setTimeout(function() {
          isThrottled = false; // (3)
          if (savedArgs) {
            wrapper.apply(savedThis, savedArgs);
            savedArgs = savedThis = null;
          }
        }, ms);
      }
  
      return wrapper;
    }
docs: base (general) part of title