🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 原型 * 只要创建函数,函数中就会创建一个 prototype 属性,指向原型对象 * 原型对象(Person.prototype) 的constructor 属性指回构造函数 Person * 每个对象上暴露的 `__proto__` 属性([[Prototype]]),可以访问对象的原型 (也就是指向原型对象) ![](https://img.kancloud.cn/8c/00/8c004f53eb88aff989f8753e64eae56f_1548x948.png) ``` Person.prototype.__proto__ === Object.prototype Person.prototype.__proto__.constructor === Object Person.prototype.__proto__.__proto __ === null ``` **注意:实例和构造函数没有直接的联系** ## object.create() 创建一个新对象,并为其指定原型 当创建对象是以下面这种情形创建时,没有 `__proto__` 属性 ``` var b = Object.create(null) b.__proto__ // undefined ``` ## a.constructor === Foo ![](https://img.kancloud.cn/7c/d5/7cd5f10daaecbac7ae4e6fd183c82734_1422x517.png)