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?