Book Image

Object-Oriented JavaScript

By : Stoyan Stefanov, Stoyan STEFANOV
Book Image

Object-Oriented JavaScript

By: Stoyan Stefanov, Stoyan STEFANOV

Overview of this book

Table of Contents (18 chapters)
Object-Oriented JavaScript
About the Author
About the Reviewers
Built-in Functions
Regular Expressions

Using a Mix of Prototypal Inheritance and Copying Properties

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;}

Create a 2D object by inheriting shape...