Here you can find the source of deepExtend(destination, source)
Object.deepExtend = function (destination, source) { for (var property in source) { if (source[property] && source[property].constructor && source[property].constructor === Object) { destination[property] = destination[property] || {}; arguments.callee(destination[property], source[property]); } else {/*w w w . j a v a 2 s . co m*/ destination[property] = source[property]; } } return destination; };
Function.prototype.inheritsFrom = function( parentClassOrObject ){ this.prototype.addPrototype( parentClassOrObject ); if ( parentClassOrObject.constructor == Function ) this.prototype.addPrototype( new parentClassOrObject ); this.prototype.constructor = this; this.prototype.__parent__ = parentClassOrObject.prototype; else ...
Object.prototype.inherits = function inherits(parent) { if (typeof Object.create !== 'function') { Object.create = function (o) { function F() {} F.prototype = o; return new F(); }; this.prototype = Object.create(parent.prototype); ...