Create an Extensible Object in Javascript

There’s a whole mess of ways to accomplish this (see this article). Obviously, YMMV, but I chose this route for one simple reason: it makes sense to me. Anyhow, here’s a method of creating an extensible object in Javascript.

var theObject = function (config) {
  this.exProperty = "";
  this.exFunction = function () {
    console.log("exFunction base function.");
  }
  this.constructor = function (c) {
    // You can put init code before this line.
    for(p in c) { this[p] = c[p]; }
  };
  this.constructor(config);
};

/***
 * EXAMPLE
 */
var test = new theObject({ // Instantiate object
  exProperty: "Setting exProperty",
  exFunction: function () {
    return "exFunction overridden.";
  },
  exFunction2: function () {
    console.log("Extending theObject.");
  }
});
console.log(test.exProperty);   // "Setting exProperty"
console.log(test.exFunction()); // "exFunction overridden."

I could have went the prototype route, but I’m quite the lazy typer ;-). Feedback is welcome!