目的:
对原型链的理解
操作步骤:
原型和原型链
所有函数都有显示原型, 所有对象都有隐式原型对象 箭头函数没有显示原型
原型组成
- 显示原型: 显示原型属性prototype
- 隐式原型: 隐式原型属性__proto__, 实例对象都有这个属性用来指向构造函数
-
原型对象: 显示原型和隐式原型指向的对象
- 作用: 查找属性和方法
- 函数也是对象, 只是函数是一个特殊的对象: 可以调用
- 任何的函数都有一个属性prototype, 这个属性的值是一个对象, 这个对象就是这个函数的原型对象. 给实例对象使用.
- 原型对象也有一个属性constructor, 表示构造器, 他会指向函数对象.
- 任何函数都有原型对象, 一般情况下, 我们只关注构造函数的原型对象.
- 当使用构造函数创建对象时, 会有一个不可见的属性__propto__, 他会指向构造函数的那个对象.