原型

先要明白几个概念

  1. 所有对象都是通过 new 函数 创建
  2. 函数也是一个对象

原型prototype

所有函数都有prototype这个属性 ,该属性值是一个对象
所有函数的prototype中都有一个属性constructor, 高属性指向函数本身

隐式原型 __proto__

所有对象(函数)都有__proto__属性,
对象的proto指向创建该对象的构造函数的prototype(也就是指向同一块内存空间)

image.png

访问对象的一个属性或者方法时

  1. 从自身寻找
  2. 自身没有,从隐式原型 __proto__查找
  3. 在原型链中依次查找

特殊

  1. Function是在内存创建的,所以Function.__proto__ == Function.prototype
  2. 所有对象最终都会继承Object.ptototype
  3. Object.prototype.proto === null
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容