/ Published in: JavaScript
URL: http://parentnode.org/javascript/default-arguments-in-javascript-functions/
Expand |
Embed | Plain Text
Function.prototype.defaults = function() { var _f = this; var _a = Array(_f.length-arguments.length).concat( Array.prototype.slice.apply(arguments)); return function() { return _f.apply(_f, Array.prototype.slice.apply(arguments).concat( _a.slice(arguments.length, _a.length))); } } //Usage var foo = function(a, b) { ... }.defaults(42, 'default_b');
Comments
Subscribe to comments
You need to login to post a comment.

Extended the function quickly so it does a full merge of objects: http://snipplr.com/view/63636/javascript-function-default-arguments-full-object-merge/