Revision: 55928
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 29, 2012 21:05 by viskenxp
Initial Code
/** * This way we can add defaults to a function: * var a = function(a, b) { * // code * }.defaults(default_a, default_b); */ Function.prototype.defaults = function() { var _f = this, _l = _f.length - arguments.length, _a = new Array(_l>0?_l:0).concat(Array.prototype.slice.apply(arguments)); return function() { var i = 0, args = Array.prototype.slice.apply(arguments).concat(_a.slice(arguments.length, _a.length)); for (;i < args.length; i++) { if ($.isPlainObject(args[i])) { args[i] = $.extend(true, {}, _a[i], arguments[i]); } } return _f.apply(_f, args); }; };
Initial URL
Initial Description
This snippet uses jQuery.extend() to merge the objects.
Initial Title
JavaScript Function Default Arguments (Full Object Merge)
Initial Tags
javascript, function
Initial Language
JavaScript