The most important thing to realize is that JavaScript does not have classical inheritance built in natively. It is not like Java so you'll want to throw all your Java inheritance ideas right out the window if you want to work with JavaScript's prototypes.
The idea of a prototype is that you have a single object connected to a constructor function. That's your prototype object. You use the constructor function to generate new objects that will all have access to the methods contained in the constructor's prototype. The trick is that if you ever modify the prototype attached to the constructor, the method you changed will now be changed for all child objects created by the constructor. It works like this:
function Cat(name) {
this.name = name;
}
Cat.prototype = {
furColor: function () {
return 'gray';
}
};
var kitty1 = new Cat('Bob');
//=> {name: 'Bob'}
kitty1.furColor();
//=> 'gray'
Cat.prototype.furColor = function () {
return 'white';
}
var kitty2 = new Cat('Sally');
//=> {name: 'Sally'}
kitty2.furColor();
//=> 'white'
kitty1.furColor();
//=> 'white'
So if you want to build classical inheritance off of this model you can, but just remember, this is what you get with prototypes in JavaScript.
There's a pretty popular classical inheritance plugin that gives you some nice OO JavaScript called klass you might want to try instead of rolling your own.