The fact is that Object and Function are two functions (so-called constructor functions). And any function in the prototype chain has both Function.prototype and Object.prototype , because any function is an object.
If you want to check who has a prototype, you need to work with prototypes and work:
Function.prototype.isPrototypeOf(Object.prototype) // false Object.prototype.isPrototypeOf(Function.prototype) // true
In general, the prototype chain looks like this (the prototypes below, the objects derived from them are at the top):
Function Object \ / \ / | Function.prototype | | Object.prototype