构造函数 实例对象 原型对象 对象原型 原型链的联系

构造函数 实例对象 原型对象 对象原型 原型链的联系

首先 这三者是什么要搞清楚

  • 构造函数是什么?

    构造函数他是一种特殊的函数,主要用来初始化对象的,就是对对象成员赋值属性,他总与new一起使用。我们可以把对象中一些共有的属性和方法抽取出来,然后封装到这个函数中去,在开发阶段来说 构造函数里面只存放的属性,方法是存放到原型对象里面的。其中里面有一个属性为prototype 这个属性是指向原型对象的; 怎么判断是否为构造函数呢 就是在调用函数的时候用了 new 运算符来调用的函数 就是构造函数了

  • 这里有一个知识点 就是在 new 的过程中发生了什么 1 在内存中创建一个新的空对象 2 让this指向这个新的对象。 3 执行构造函数里面的代码,给这个新的对象添加的属性和方法 即方法是存放一个地址 因为方法是复杂类型 多个方法会在内存中开辟多个空间 就会浪费内存 所以就会把方法放在原型对象里面 4 返回新的对象(所以在构造函数里面是不需要return的)

  • 实例对象是什么?

    是通过调用构造函数产生的 有一个内部属性proto 属性来指向原型对象的;

  •  

    那么原型对象又是啥呢?

    他其实就是一个构造函数的一个属性,用来存放方法的 ,这个属性也是一个对象 我们也称为 prototype 为 原型对象;他的作用是为了共享方法的 ,从而节省内存;其中里面也有一个属性是指向构造函数的constructor

  • 对象原型又是啥呢?

    对象原型也是一个属性proto 构造函数、原型对象都会有一个proto属性 他是指向原型对象的 之所以我们对象可以使用构造函数里面的属性和方法 都是因为这个属性

         

 

  • 原型链

    每一个对象都有一原型对象,原型对象本身也是一个对象,及原型对象也有自己的原型对象,这样就行形成了一个链式结构,就叫做原型链

  

 

 直到返回值为null 就会停止

posted @ 2019-10-09 16:21  键盘敲断  阅读(156)  评论(0编辑  收藏  举报