構(gòu)造函數(shù)、實例對象、原型對象三者之間的關(guān)系

三者之間的關(guān)系:

構(gòu)造函數(shù)可以實例化對象

構(gòu)造函數(shù)中有一個屬性叫prototype,是構(gòu)造函數(shù)的原型對象

構(gòu)造函數(shù)的原型對象(prototype),中有一個constructor構(gòu)造器,這個構(gòu)造器指向的就是自己所在的原型對象所在的構(gòu)造函數(shù)

實例對象的原型對象(_proto_)指向的是該構(gòu)造函數(shù)的原型對象

構(gòu)造函數(shù)的原型對象(prototype)中的方法是可以被實例對象直接訪問的


原型中的方法是可以相互調(diào)用的

實例對象當(dāng)中的屬性或者方法,先在實例對象當(dāng)中查找,找到了就直接使用,找不到去實例對象的__proto__指向的原型對象prototype中找,找到了則使用,找不到則報錯

實例對象:通過構(gòu)造函數(shù),實例化一個對象(例: var per=new Student()),如果是實例化一個對象,并初始化(例:var per=new Student("小明",18,"男"))

原型的作用之一:?共享數(shù)據(jù),節(jié)省空間

原型?

? ? * 實例對象中有__proto__這個屬性,叫原型,也是一個對象,這個屬性是給瀏覽器使用,不是標(biāo)準(zhǔn)的屬性----->__proto__----->可以叫原型對象

? ? * 構(gòu)造函數(shù)中有prototype這個屬性,叫原型,也是一個對象,這個屬性是給程序員使用,是標(biāo)準(zhǔn)的屬性------>prototype--->可以叫原型對象

? ? *

? ? * 實例對象的__proto__和構(gòu)造函數(shù)中的prototype相等--->true

? ? * 又因為實例對象是通過構(gòu)造函數(shù)來創(chuàng)建的,構(gòu)造函數(shù)中有原型對象prototype

? ? * 實例對象的__proto__指向了構(gòu)造函數(shù)的原型對象prototype

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容