前言
构造函数是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与 new 一起使用。一般情况下我们会把公共的属性定义到构造函数里面,而公共的方法放到原型对象身上
三者之间的关系
- 任何函数都有prototype属性,它本身就是一个对象
- 构造函数也是函数,也有prototype属性,称之为原型
- 构造函数原型上的属性和方法,可以被实例化对象继承
- 任何对象都有constructor属性,实例化对象的constructor属性指向构造函数
- 原型也是对象,也有constructor属性,原型对象的constructor属性指向构造函数
- 任何对象都有__proto__属性,它本身是个指针,实例化对象的__proto__属性指向的是构造函数的原型