
1函数有三种形态:普通函数、构造函数、函数对象
2当使用 new 操作符调用构造函数,会创建一个新对象;
3__proto__ 只有对象才有这个属性,它指向对象的构造函数的原型对象;
4prototype 是构造函数的原型对象;
5所有的构造函数都是由 Object 创建出来的;
6所有的函数对象都是由 Function 创建出来的。
重点: 在js中如果A对象是由B函数构造的,那么A.proto === B.prototype。
function Person(){}
var obj = {};
alert(obj.proto === Object.prototype);//true
alert(Person.proto === Function.prototype);//true
内置的Object是其实也是一个函数对象,它是由Function创建的。
Object.proto === Function.prototype //true