JavaScript理解

您所在的位置:网站首页 left函数用法与理解 JavaScript理解

JavaScript理解

2023-06-25 20:49| 来源: 网络整理| 查看: 265

原型与原型链是什么? (1)原型是什么?

原型是一个对象。每一个JavaScript对象(null除外)在创建的时候都会关联另一个对象,这个对象就是我们所说的原型。

怎么解释呢?

首先假设一个构造函数Person,用new创建一个实例对象person1.

然后已知每个函数都会有一个属性叫做prototype,属性prototype指向的是一个对象,这个对象也就是调用构造函数Person时创建的实例的原型。

所以构造函数与实例原型通过prototype属性联系在一起

构造函数Person,实例原型Person.prototype  通过属性prototype联系

1.png  

 

除此之外,每一个javaScript对象(null除外)都有一个属性叫做_proto_ ,

然后javaScript对象通过属性_proto_与原型联系,这个属性指向对象的原型

 也就是说 实例对象person1通过属性_proto_与实例原型Person.prototype

2.png  

(2)原型是怎么创建的?

原型是对象,既然是对象,那么我们就可以用构造函数Object()来创建。

 所以Person.prototype就是构造函数Object()创建出来的实例对象,所以构造函数Object的属性prototype会指向Object.prototype.  然后实例对象Person.prototype通过属性_proto_指向其原型对象Object.prototype.

3.png  

Object.prototype也是对象,那它的原型呢?是null

4.png

  一般在查找属性的时候,查到Object.prototype就可以不找了。

 

 

(3)原型链是什么?

  就是说当读取实例对象的属性的时候,如果在实例中找不到这个属性,就会查找与这个实例关联的原型里的属性。如果还找不到,就通过_proto_去找原型的原型,直到找到最顶层为止。最终是null。这样,由原型通过属性_proto_组成的链状结构就叫做原型链。

 

(4)使用原型有什么好处?

通过使用原型,可以避免在每个实例里定义相同的属性和方法,从而节省内存。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3