首先 这三者是什么要搞清楚
-
构造函数是什么?
构造函数他是一种特殊的函数,主要用来初始化对象的,就是对对象成员赋值属性,他总与new一起使用。我们可以把对象中一些共有的属性和方法抽取出来,然后封装到这个函数中去,在开发阶段来说 构造函数里面只存放的属性,方法是存放到原型对象里面的。其中里面有一个属性为prototype 这个属性是指向原型对象的; 怎么判断是否为构造函数呢 就是在调用函数的时候用了 new 运算符来调用的函数 就是构造函数了
-
这里有一个知识点 就是在 new 的过程中发生了什么 1 在内存中创建一个新的空对象 2 让this指向这个新的对象。
-
实例对象是什么?
是通过调用构造函数产生的 有一个内部属性proto 属性来指向原型对象的;
-
那么原型对象又是啥呢?
他其实就是一个构造函数的一个属性,用来存放方法的 ,这个属性也是一个对象 我们也称为 prototype 为 原型对象;他的作用是为了共享方法的 ,从而节省内存;其中里面也有一个属性是指向构造函数的constructor
-
对象原型又是啥呢?
对象原型也是一个属性proto 构造函数、原型对象都会有一个proto属性 他是指向原型对象的 之所以我们对象可以使用构造函数里面的属性和方法 都是因为这个属性