JavaScript中的原型链简析与原型链结构图绘制

原型链简析

      在JavaScript中,对象有原型对象,而原型对象也是对象,所以原型对象也有原型对象,如此一来,一环紧扣一环,就形成了一种链式结构,简称原型链.
      JS中的原型链是面向对象编程思想的很好体现,将原型链理解透彻就能理解JS中各种数据类型间的关系,在一定程度上可以装逼一把:“万物皆对象”。

JS中完整原型链结构图的绘制

分析思路如下:

1.先将函数看作是实例对象
构造函数:Function
原型对象:Function.prototype
实例对象:Fn = new Function();

2.再将函数看作是构造函数
构造函数:Fn(){}
原型对象:Fn.prototype
实例对象:var f = new Fn();

3.将Object考虑进来
构造函数:Object()
原型对象:Object.prototype
实例对象:obj = new Object()

4.将Object看作是实例对象
构造函数:Function
原型对象:Function.prototype
实例对象:Object

5.将Function看作是实例对象
注意:在js中只有一个对象Function,它的ptoto和prototype指向了同一个对象
Function.proto === Function.prototype

根据上述分析思路,绘制如下的原型链结构图

JavaScript中的原型链简析与原型链结构图绘制

更多文章请参见blog.csdn.net/yzzane