当前位置: 首页 > 网络应用技术

谈论JS原型和原型链

时间:2023-03-06 22:21:52 网络应用技术

  在ES6之前,不是基于类创建对象,而是一个称为构造函数的特殊函数来定义对象及其特征创建对象。

  构造函数是一个特殊函数,主要用于初始化对象,即对象变量的初始值,它始终与new一起使用。我们可以在对象中提取一些公共属性和方法,然后封装他们进入这个功能。

  构建功能的方法非常易于使用,但是存在浪费记忆的问题

  上述代码的执行结果是错误的,这表明该方法放置在构造函数中。创建实例时,它将为此方法分开打开内存空间,但存储相同的函数。

  JavaScript规定每个构造函数都有一个原型属性。请注意,这是一个对象。该对象的所有属性和方法将由构造函数所有。该对象具有一个属性,指向构造函数。我们可以直接在对象上定义这些常数方法,因此所有对象的所有示例都可以共享这些方法因此,在正常情况下,我们的公共属性被定义为结构函数,以及我们对原型对象的公共方法。

  每个对象都有一个对构造函数结构的原型对象。我们的实例对象可以使用构造函数原型的属性和方法的原因,因为对象具有原型。

  构造函数构造函数原型()和constructor()原型在原型对象中具有属性,我们称之为构造函数,因为它涉及构造函数本身。属性用于记录引用对象的构造函数引用的构造函数,该构造函数允许原型对象能够到达原型对象重新指向原始构造函数。

  至于原始链是什么,在JavaScript中,所有内容都是对象。首先查看以下代码。

  如上所述,只要它是一个对象,该对象就具有属性,指向构造函数的原型对象。在此代码中的P1对象的示例中,P1对象中将有一个属性。原型对象指向,也是一个对象。自然,会有一个属性。那么这个方向在哪里?上面代码中此行语句的输出很清楚

  此描述中的原型对象指向原型对象,然后原型对象也是一个对象,并且该对象自然具有属性,因此在哪里。上面代码中代码的输出也很清楚。

  该语句行的输出为null,它在此描述中显示了原型对象中的属性,指向null。

  JavaScript中的所有内容都是一个对象,并且对象与对象之间也存在关系,并且它不存在于孤立状态。对象之间的继承关系通过JavaScript中的原型对象指向父类,直到对象对象指向对象对象。到对象对象。

  下图可以直观地看到人实例,人原型,对象原型及其结构化功能之间的关系。

  方法查找规则:当我们转到对象的属性或方法时,它将首先在对象本身中找到它。如果有的话,它将直接使用。如果没有,它将转到原型对象以找到它。如果不是,请转到原型对象以查找,直到找到对象对象的原型为止,对象对象的原型没有原型。如果仍然在对象原型中找到,请返回到未定义的。

  几乎就是这样。第一次,我写了一个博客,写了一些混乱。感谢您在这里看到。