The figure in the image below once again shows me that every object has a prototype. Constructor function Foo also has its own __proto__ which is Function.prototype, and which in turn also references via its __proto__ property again to the Object.prototype. Thus, repeat, Foo.prototype is just an external property of Foo which refers to the prototype of b and c objects.
var b = new Foo(20); var c = new Foo(30);
What are the differences between __proto__ and prototype?
![enter image description here](https://lh6.googleusercontent.com/NrO3UM2crAWu528kCceR7_x2SFJp8nwuuKQfslqs3t5uGZNLkxMmdJ2OYWaBJf9URQLLgfO1kOtitWcEqnthz574nlNaIgyZJF0Zwl6TXruiPdKADAbMV8Q_6ooZUZ3gPHerLVND)