I have:
Master object
function Fruit() { this.type = \"fruit\"; }
Sub-object:
function Bannana() { this.color =
You never put anything on the Fruit prototype object. Your constructor initializes the instances, not the prototype.
Fruit
If you had:
Fruit.prototype.type = "fruit";
then your code would work as you expect.