How do you extend an object prototype with a nested namespace?
http://jsfiddle.net/2t5314nu/2/
I want to be able to call nested methods from Obj.prototype like this.nested.method and be able to access prototype properties and methods from nested as this.prop.
However, when I use jQuery $.extend, the init method from nested overrides the one from Obj.prototype. In fact, Obj.prototype.init is never called.
I want to avoid overriding Obj.prototype.init with nested.init. I would be fine with using something other than $.extend.
function Obj() {
  this.prop = 'val';
  this.init();
}
Obj.prototype = {
  init: function() {
    console.log('object init');
    console.log('prop in object init: ' + this.prop);
    $('#object-init').text('object init');
    this.nested.init();
    this.nested.method();
  }
};
var nested = {
  init: function() {
    console.log('nested init');
    console.log('prop in nested init: ' + this.prop);
    $('#nested-init').text('nested init');
  },
  method: function() {
    console.log('nested method');
    console.log('prop in nested method: ' + this.prop);
    $('#nested-method').text('nested method');
  }
};
$.extend(true, Obj.prototype, nested);
new Obj();