You've got inheritance wrong with your example, as all the object will be sharing the same properties. You have to divide your prototype chain in order to organize the common properties at the bottom, while the more specific properties of that object end up at the top of the chain.
Consider this:
Imagine you have a box where you keep folders. Each folder has contain information about cars. Imagine you want to write information about a Mitsubishi Lancer Evolution VII. Inside your folder you write all the information about the brand, model, edition, etc. Now you add other folder for the Mitsubishi Lancer Evolution VI and write everything, and then for the Mitsubishi Eclipse, Toyota Supra, etc.
Soon you will be realizing that the box get full quickly, it is hard to get an specific information fast, and you are writing the same thing many times. Then you realizes that you can have a folder for the Mitsubishi brand information, and every Mitsubishi car folder has a reference that says "Brand: see Mitsubishi folder". Then you realize that you can do the same with the Lancer Evolution model. A lot of repeated information get removed, the box has more space, it is easier to add new files, it is faster to search for specific information...
Now think that the box is the computer memory, then brand, model, edition, etc. are objects, information in your file is object properties, brand is for model as a prototype for an object.
So, your car object will be as:
var Brand = function Brand(brand){
this.brand = brand ;
this.Model = function Model(model){
this.model = model ;
this.Edition = function Edition(edition){
this.edition = edition ;
} ;
this.Edition.prototype = this ;
} ;
this.Model.prototype = this ;
} ;
var Mitsubishi = new Brand('Mitsubishi') ;
var LancerEvolution = new Mitsubishi.Model('Lancer Evolution') ;
var LancerEvolutionVII = new LancerEvolution.Edition('VII') ;
var LancerEvolutionVI = new LancerEvolution.Edition('VI') ;
So:
LancerEvolutionVII.brand == 'Mitsubishi' // true
LancerEvolutionVII.model == 'LancerEvolution' // true
LancerEvolutionVII.edition == 'VII' // true
The cool thing is that for every Mitsubishi car there is only one object Brand, and all share it. So if Mitsubishi company changes name tomorrow you only need to do:
Mitsubishi.brand = 'NewCompanyName' ;
and all your Mitsubishi cars will have the brand updated.
I hope this helped you, ask whatever doubt you are still having.