Revision: 61628
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 29, 2012 08:52 by codernator
Initial Code
/*jslint plusplus: true, vars: true, browser: true, devel: false, maxerr: 5, maxlen: 140 */ function ObjectBoilerPlateModule() { "use strict"; // addMethod - By John Resig (MIT Licensed) // add a method to an object. // creates function overloading scenario based entirely on length of argument list. // won't work to overload functions according to argument "type". function addMethod(object, name, fn) { var old = object[name]; object[name] = function () { if (fn.length === arguments.length) { return fn.apply(this, arguments); } if (typeof old === 'function') { return old.apply(this, arguments); } throw "Invalid"; }; } function inherit(parentPrototype) { function F() {} F.prototype = parentPrototype; return new F(); } this.addMethod = addMethod; this.inherit = inherit; }
Initial URL
Initial Description
# addMethod - By John Resig (MIT Licensed) Add a method to an object. Creates function overloading scenario based entirely on length of argument list. Won't work to overload functions according to argument "type". # inherit Create parameter-less inheritance chain for situations in which the parent object takes arguments in its "constructor". Usage: function A(a, b) { } function B() { A.call(this, 1, 2); } B.prototype = inherit(A.prototype);
Initial Title
ObjectBoilerPlateModule - some methods to assist creating objects
Initial Tags
Initial Language
JavaScript