When you use inheritance, you will most likely want to take some existing functionality and then build upon it. This means creating a new object by inheriting from an existing object and then adding some additional methods and properties. You can do this with one function call, using a combination of the last two approaches just discussed.
You can:
Use prototypal inheritance to clone an existing object
Copy all of the properties of another object
function objectPlus(o, stuff) { var n; function F() {} F.prototype = o; n = new F(); n.uber = o; for (var i in stuff) { n[i] = stuff[i]; } return n; }
This function takes an object o
to inherit from and another object stuff
that has the additional methods and properties that are to be copied. Let's see this in action.
Start with the base shape
object:
var shape = { name: 'shape', toString: function() {return this.name;} };
Create a 2D object by inheriting shape...