JS原型和原型链_必懂篇
文字 - 帮助理解
三句话玩转面向对象
- 每一个函数(构造函数(类))都天生具备一个属性 “prototype原型”,属性值是一个对象:存储当前类供实例调用的公共属性和方法;
- 在原型对象上有一个内置的属性 “constructor构造函数”,存储的值是当前函数本身,所以我们把类称为构造函数;
- 每一个对象都天生具备一个属性 “__proto__隐式原型/原型链”,属性指向自己所属类的原型对象。
( 实例.__proto__ === 所属类.prototype )
函数类型:
- 普通函数
- 构造函数(类)
- 内置类
对象类型:
- 普通对象/数组对象/正则对象/日期对象...
- prototype/__proto__
- 类的实例也是对象(排除基本数据类型值的特殊性)
- 函数也是对象
- 万物皆对象
堆内存图 - 帮助理解