1. 程式人生 > >一句話總結JS建構函式、原型和例項的關係

一句話總結JS建構函式、原型和例項的關係

”每個建構函式都有一個原型物件,

原型物件都包含一個指向建構函式的指標,

例項都包含一個指向原型物件的內部指標。”

                        ——此段話摘自《JavaScript高階程式設計》。

下面結合例項簡要分析:

一、每個建構函式都有一個原型物件
比如:
這裡寫圖片描述

可以看到,每個建構函式本身都是一個物件,它有一個屬性叫做prototype,它是一個物件

二、原型物件都包含一個指向建構函式的指標

比如:

對於Object:

這裡寫圖片描述

對於Function:

這裡寫圖片描述

對於Array:

這裡寫圖片描述

對於Date :

這裡寫圖片描述
這裡寫圖片描述

對於Boolean:

這裡寫圖片描述

對於String:

這裡寫圖片描述

對於Number:

這裡寫圖片描述

可以發現:每個建構函式的prototype屬性都是個物件,這個物件都有一個屬性constructor,它是個指標,並且指向建構函式本身。

三、例項都包含一個指向原型物件的內部指標

對於Object:

這裡寫圖片描述

對於Function:
這裡寫圖片描述

對於Array:

這裡寫圖片描述

對於Date:

這裡寫圖片描述

對於RegExp:

這裡寫圖片描述

對於Boolean:

這裡寫圖片描述

對於Number:

這裡寫圖片描述

對於String:

這裡寫圖片描述

可以看到:例項都有一個屬性叫做_proto_,它是個指標,指向原型物件。