Please note that Functionand Objectare global symbols that refer to functions. Thus, both of these functions are instances of both Object, and Functionbecause they inherit from both prototypes.
This is less confusing if you do this:
var a = Function, b = Object;
console.log(a instanceof Object);
console.log(b instanceof Object);
console.log(a instanceof Function);
console.log(b instanceof Function);
These functions have properties like any other function:
var c = function() {};
console.log(c instanceof Object);
console.log(c instanceof Function);
On the left side of the operator, instanceofall that matters is the nature of the object.