只有函数对象才有protoType属性 构造函数也是对象 也有__proto__属性 指向构造函数的原型对象 prototype
构造函数通过prototype 指向它的原型对象 原型对象通过constroctor指向它的构造函数
实例对象通过__proto__指向它的原型对象
原型对象也是实例对象 通过__proto__指向它的原型对象 Object.prototype Object.prototype.__proto__ = null
再通过__proto__指向它的原型对象 null
Object.prototype.__proto__ === null //
Function.constructor === Function // typeof(Function.prototype) = function
Function.__proto__ === Function.prototype
Function.prototype.__proto__ === Object.prototype
Function.prototype.__proto__.__proto__ === null
// 所有的构造函数 都是 Function new出来的
Object.__proto__ === Function.prototype; // true
Object.__proto__.__proto__ === Object.prototype; // true
Object.__proto__.__proto__.__proto__ === null; // true