If I have a class called Person.
var Person = function(fname, lname){
this.fname = fname;
this.lname = lname;
}
Person.prototype.mname = "Test";
var p = new Person('Alice','Bob');
Now, p.__proto__ refers to prototype of Person but, when I try to do Person.__proto__, it points to function(), and Person.constructor points to Function().
Can someone explain what is the difference between function() and Function() and why the prototype of a Function() class is a function()?