Class Inheritance with jQuery Extend

Class Inheritance with jQuery Extend

I've been using $.extend() for quick and simple class inheritance in some of my code. I'm starting a large project now and since this method has been simple and flexible for me so far I'd like to continue using it, but I wanted to run it by a smattering of other devs first to get opinions and find any potential issues. I'm pretty sure this method has some loose ends and pitfalls, but its flexibility and ease of use has come from it being "loose". Here is how it works:

  1. var Monster = function(o) {
  2.       this.claw_strength = 5;
  3.       if (typeof(o) != 'undefined') $.extend(true, this, o);
  4. }
  5. Monster.prototype.claw(you) {
  6.       you.ouchies(this.claw_strength);
  7. }
  8. var JetPackMonster = function(o) {
  9.       this.JetPack = new JetPack();
  10.        if (typeof(o) != 'undefined') $.extend(true, this, o);
  11.       return new Monster(this);
  12. }
  13. JetPackMonster.prototype.fly = function() {
  14.       this.JetPack.start();
  15. }
  16. var JPM = new JetPackMonster();
So the idea is that the argument o is used as options for the class. It could extend it with new properties and methods without passing another class through. The instance stored in JPM is of the Monster class extended with all the extra properties in JetPackMonster.

My two concerns are that $.extend has to do a lot of looping every time a class is used, multiplied each time a class extends another and since the extended class Monster is returned from the class JetPackMonster...what happened to "real" JetPackMonster?

Any comments are greatly appreciated. This inheritance--or more appropriately: extension--system works exactly how I want it to in the code, but I fear it will bite me in the ass as it scales.