In Javascript, functions double as constructors. You call a function as a constructor by using the new operator.
In JavaScript, we don't have the concept of class, so inheritance in JavaScript is prototype based. This means to implement inheritance in JavaScript, an object inherits from another object.
Advantage of using the prototype object to add functions
The ability to redefine methods for derived classes.
https://learn.javascript.ru/oop ООП в функциональном стиле
https://learn.javascript.ru/prototypes ООП в прототипном стиле
http://habrahabr.ru/post/144646 Понимание ООП в JavaScript
http://habrahabr.ru/post/144646 Javascript: ООП, прототипы, замыкания, «класс» Timer.js
http://tobyho.com/2010/11/22/javascript-constructors-and Javascript Constructors and Prototypes
https://raw.githubusercontent.com/coodict/javascript-in-one-pic/master/js%20in%20one%20pic.png All JavaScript ( taken from GitHub)