返回

JS 高级:两图轻松理解原型链

前端







**JavaScript 高级:两图轻松理解原型链** 

**引言** 

原型链是 JavaScript 中一个重要的概念,对于理解高级编程至关重要。本文将通过两张图表,带你深入理解原型链的本质和运作方式。

**原型链的本质** 

原型链是一个连接对象与其原型的一系列对象。每个对象都有一个原型,原型又可能拥有自己的原型,以此类推,形成一条链式结构。

**原型关系** 

第一张图展示了原型关系:

               +--------------+
               |    Object    |
               +--------------+
                     |
               +--------------+
               |    Object1   |
               +--------------+
                     |
               +--------------+
               |    Object2   |
               +--------------+

* Object1 和 Object2 都是 Object 的实例,它们指向 Object 的原型。
* Object.prototypeObject 的原型,它包含所有 Object 共有的属性和方法。

**原型链的运作** 

当访问对象属性或方法时,JavaScript 会沿着原型链向上查找。如果在当前对象中找不到,则会继续在原型中查找,直到找到该属性或方法。

第二张图展示了原型链的运作:

               +--------------+
               |    Object    |
               +--------------+
                     |
               +--------------+
               |    Object1   |
               +--------------+
                     |
               +--------------+
               |    Object2   |
               +--------------+
                      /|\
                +--+--+--+--+
                |  |  |  |  |
                +--+--+--+--+

* 当访问 Object1 的属性或方法时,JavaScript 会首先在 Object1 中查找。
* 如果找不到,则会沿着原型链向上查找,在 Object 的原型 Object.prototype 中查找。

**原型链的终点** 

原型链的终点是 null,它表示对象没有更多的原型。

               +--------------+
               |    Object    |
               +--------------+
                     |
               +--------------+
               |    Object1   |
               +--------------+
                     |
               +--------------+
               |    Object2   |
               +--------------+
                      /|\
                +--+--+--+--+
                |  |  |  |  |
                +--+--+--+--+
                            |
                            null

**结语** 

原型链是 JavaScript 中理解继承和对象关系的关键概念。通过两张图表,我们深入了解了原型链的本质、运作方式和终点。掌握原型链的知识,将极大地提升你的 JavaScript 编程能力。