This is prototype Experiement.

This is explains the "prototype" property of the "constructor" and how the property are exposed to the objects. Basically "prototype" property makes a chain of objects connected together. The javascript engine searches the properties and methods throughout the chain linearly going from one object to another if it does not found the required properties and methods in a given object.

Property inheritence.

All of the calls are from ObjectA, but they are defined in different Objects as below.

Defined in ObjectA :
Defined in ObjectB :
Defined in ObjectC :
Property overriding and the keyword "this"