总结:原型对象,constructor属性,对象原型,原型继承,原型链

50 阅读1分钟

1.原型对象

    每一个构造函数都有一个prototype属性,指向另一个对象,称为原型对象
    作用:解决构造函数浪费内存的问题;把不变的方法直接定义在prototype对象上,通过原型对象实现方法共享     
    

2.constructor属性

     constructor意思是构造函数,只要是原型对象里面就有constructor
    使用场景:如有多个对象方法,可给原型对象采取对象形式赋值,但会覆盖构造函数原型对象原来的内容,修改后的原型对象不再指向当前构造函数了,此时,可以在修改后的原型对象中,添加一个constructor指向原来的构造函数                      
    

3.对象原型

   对象原型__proto__,可以访问到定义在prototype上的共享方法;只要是对象都有__proto__(原型链用的到)
   

4.原型继承

   js中大多数是借助原型对象实现继承的特性,(注意:要通过constructor再指回原来的构造函数)
   构造函数new出来的对象结构一样,但是对象不一样
   父构造函数(父类)子构造函数(子类)
   子类的原型 = new父类

5.原型链

 原型链是一种查找机制
 

原型对象,constructor属性,对象原型的关系(按照自己的理解画的)

微信图片_20240518202558.jpg

原型链

微信图片_20240518204817.jpg