Using a mix of prototypal inheritance and copying properties
When you use inheritance, you will most likely want to take an already existing functionality and then build upon it. This means creating a new object by inheriting from an existing object and then adding 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 use an existing object as a prototype of a new one
Copy all the properties of another object into the newly created one:
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...