List of utility methods to do Class Extend
subclass(base)Function.prototype.subclass = function(base) { var c = Function.prototype.subclass.nonconstructor; c.prototype = base.prototype; this.prototype = new c(); }; Function.prototype.subclass.nonconstructor = function() {}; Object.size = function(obj) { var size = 0, key; for (key in obj) { ... | |
inherits(BaseClass)Function.prototype.inherits = function (BaseClass) { function Surrogate () {} Surrogate.prototype = BaseClass.prototype; this.prototype = new Surrogate(); this.prototype.constructor = this; }; String.prototype.capitalize = function() { return this.charAt(0).toUpperCase() + this.slice(1); }; ... | |
inheritsFrom(parent)Function.prototype.inheritsFrom = function(parent){ this.prototype = new parent(); this.prototype.constructor = this; this.prototype.parent = parent.prototype; return this; }; | |
Inherits(parent)Function.prototype.Inherits = function(parent) {
this.prototype = new parent();
this.prototype.constructor = this;
this.prototype.parent = parent.prototype;
};
| |
inherit(ParentClass)Function.prototype.inherit = function(ParentClass) {
this.prototype = Object.create(ParentClass.prototype);
this.prototype.constructor = this;
this.prototype.parent = ParentClass.prototype;
| |
__extends(parent)Function.prototype.__extends = function(parent) {
this.prototype = Object.create(parent.prototype);
};
| |
__extends(superClass)Function.prototype.__extends = function(superClass) { this.prototype = Object.create(superClass.prototype); }; Object._entries = function(obj) { var entry = []; for (key in obj) entry[entry.length] = [key, obj[key]]; return entry; }; ... | |
Inherits(parent)Object.prototype.Inherits = function(parent) { if(arguments.length > 1) { parent.apply(this, Array.prototype.slice.call(arguments, 1) ); } else { parent.call(this); }; | |
extend()Object.prototype.extend = function(){ var Obj = function(){}; Obj.prototype = this; return new Obj(); | |
extend(destination, source)Object.extend = function(destination, source) { for (var property in source) { if (source.hasOwnProperty(property)) { destination[property] = source[property]; return destination; }; |