There are only 3 lines of code, and yet I\'m having trouble fully grasping this:
Object.create = function (o) { function F() {} F.prototype = o;
Your major misunderstanding here is that F has global scope. It is declared in the body of Object.create and consequently is only in scope within that method block.