JS原型和原型链_必懂篇

文字 - 帮助理解


三句话玩转面向对象

  1. 每一个函数(构造函数(类))都天生具备一个属性prototype原型”,属性值是一个对象:存储当前类供实例调用的公共属性和方法;
  2. 原型对象上有一个内置的属性constructor构造函数”,存储的值是当前函数本身,所以我们把类称为构造函数;
  3. 每一个对象天生具备一个属性__proto__隐式原型/原型链”,属性指向自己所属类的原型对象

         ( 实例.__proto__ === 所属类.prototype )

函数类型:

  1. 普通函数
  2. 构造函数(类)
  3. 内置类

对象类型:

  1. 普通对象/数组对象/正则对象/日期对象...
  2. prototype/__proto__
  3. 类的实例也是对象(排除基本数据类型值的特殊性)
  4. 函数也是对象
  5. 万物皆对象

 堆内存图 - 帮助理解


JS原型和原型链_必懂篇