Lot of confusions we do have always on this concept. Myself facing the same issue until i found this..
What is Prototype?
The prototype property is initially an empty object, and can have members added to it – as you would any other object.
In the snippet above, we’ve created a function, but if we call
myObject(), it will simply return the
window object, because it was defined within the global scope.
this will therefore return the global object, as it has not yet been instantiated (more on this later).
anyways i found a simple example in stackoverflow too..
here it is..
In a language implementing classical inheritance like Java, C# or C++ you start by creating a class–a blueprint for your objects–and then you can create new objects from that class or you can extend the class, defining a new class that augments the original class.