Advertisement
Guest User

Untitled

a guest
Apr 20th, 2014
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. Function.prototype.partial = function(){
  2. var fn = this, args = Array.prototype.slice.call(arguments);
  3. return function(){
  4. var arg = 0;
  5. for ( var i = 0; i < args.length && arg < arguments.length; i++ )
  6. if ( args[i] === undefined )
  7. args[i] = arguments[arg++];
  8. return fn.apply(this, args);
  9. };
  10. };
  11.  
  12. var delay = setTimeout.partial(undefined, 10);
  13.  
  14. delay(function(){
  15. alert( "A call to this function will be temporarily delayed." );
  16. });
  17.  
  18. delay(function(){
  19. alert( "This is a test" );
  20. });
  21.  
  22. Function.prototype.partial = function() {
  23. var fn = this, args = arguments;
  24. return function() {
  25. var filledArgs = Array.prototype.slice.call(args);
  26. for (var i=0, arg=0; arg < arguments.length; i++)
  27. if (filledArgs[i] === undefined)
  28. filledArgs[i] = arguments[arg++];
  29. return fn.apply(this, filledArgs);
  30. };
  31. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement