美文网首页
原型、构造函数、实例三者关系

原型、构造函数、实例三者关系

作者: 一纸晴空 | 来源:发表于2021-06-29 10:41 被阅读0次

每创建一个函数,该函数都会自动带有一个prototype属性。该属性是一个指针,指向一个对象,该对象称之为原型对象(后期我们可以使用这个原型对象帮助我们在js中实现继承).

原型对象上默认有一个属性constructor,该属性也是一个指针,指向其相关联的构造函数。

通过调用构造函数产生的实例对象,都拥有一个内部属性,指向了原型对象。其实例对象能够访问原型对象上的所有属性和方法。

总结:三者的关系是,每个构造函数都有一个原型对象,原型对象上包含着一个指向构造函数的指针,而实例都包含着一个指向原型对象的内部指针。通俗的说,实例可以通过内部指针访问到原型对象,原型对象可以通过constructor找到构造函数。

关系图:


完整的原型链

两个关键的点:

1.任何构造函数,都是Function构造出来的。所以Object和Person的构造函数是Function实例化出来

2.任何对象都是继承自object,实际上,继承都是通过prototype来实现继承的,因为实例对象查找属性或者方法,会从__proto__找。

3.__proto__,统一指向prototype对象。


对上述的图进行一个描述:

1.首先Person构造函数,实例对象,prototype互指

2.Object三者互指

3.Function复制实例化Object和Person,所以Object和Person构造函数的__proto__指向Fucntion的prototype对象

4.然后所有的对象都是继承自Object,所以Person和Function的prototype的__proto__都指向Object的prototype

版权声明:本文为CSDN博主「落幕高墙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/p13132312312/article/details/102477416

相关文章

  • 构造函数,实例,原型关系详解

    1.构造函数,实例,原型三者关系如下 构造函数的prototype指向其原型对象 原型对象的constructor...

  • js继承

    继承 构造函数 原型对象 对象实例 三者之间的关系 每个构造函数都拥有一个原型对象,构造函数.prototy...

  • 构造函数、实例对象、原型对象三者之间的关系

    三者之间的关系: 构造函数可以实例化对象 构造函数中有一个属性叫prototype,是构造函数的原型对象 构造函数...

  • js 原型 2019-12-15

    原型:constructor 构造函数、实例、原型对象三者之间的关系 原型链 原型对象中的this指向 扩展内置对...

  • 原型链的理解

    在理解原型链之前,首先要知道构造函数、实例、原型三者是什么,以及之间的关系。 构造函数 function Pers...

  • js关于继承

    Javascript是一门基于原型链的语言构造函数,原型属性与实例对象三者的关系: Person 是一个构造函数(...

  • 深入理解Javascript中的原型、原型链、继承

    一. 构造函数,原型,实例三者的关系 1. 构造函数: 构造函数是创建对象的一种常用方式, 其他创建对象的方式还包...

  • 深入理解Javascript中的原型、原型链、继承

    一. 构造函数,原型,实例三者的关系 1. 构造函数: 构造函数是创建对象的一种常用方式, 其他创建对象的方式还包...

  • 原型链

    构造函数、原型、实例的关系 通过构造函数创建实例 每个构造函数都有一个原型对象 原型对象到包含一个指向构造函数的指...

  • JS中构造函数和原型理解图

    一、构造函数、实例、原型对象三者之间的关系图 二、原型链 三、备注 1.摘自:https://www.bilibi...

网友评论

      本文标题:原型、构造函数、实例三者关系

      本文链接:https://www.haomeiwen.com/subject/rhvhultx.html