第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

原型繼承中利用覆蓋原型對象方式添加原型成員時遇到的constructor屬性指向疑問?

原型繼承中利用覆蓋原型對象方式添加原型成員時遇到的constructor屬性指向疑問?

LEATH 2018-09-13 14:13:25
prototype里面已經(jīng)沒有constructor屬性,然后往它的原型對象里面找到constructor屬性,為何返回的結(jié)果不一樣?
查看完整描述

1 回答

?
不負相思意

TA貢獻1777條經(jīng)驗 獲得超10個贊

感謝題主提了個好問題,讓我自己也總結(jié)了一下以前學過的知識點,哈哈,歡迎交流討論

https://img1.sycdn.imooc.com/5bd51eba0001839804370526.jpg

以下是我自己的總結(jié)

①每個函數(shù)都有一個prototype,每個對象(函數(shù)也是對象)都有一個__proto__(隱式原型)

②訪問一個對象的屬性的時候,如果對象沒有該基本屬性,則會沿著__proto__鏈往上查找

③對象的__proto__指向創(chuàng)建該對象的原型prototype

④函數(shù)是由Function函數(shù)創(chuàng)建,所以函數(shù)的__proto__指向Function的prototype,而Function.prototype也是一個對象,她的__proto__指向Object.prototype

⑤自定義函數(shù)和自定義對象都由function Object(){}函數(shù)創(chuàng)建,Object的prototype也是一個特例,她的__proto__屬性指向了null

?例如:??var?p?=?new?Person();
??對象p由Person構造函數(shù)創(chuàng)建,所以對象p的__proto__指向Person的prototype

__proto__鏈(原型鏈)

對象p的原型鏈:

p?---->??Person.prototype???----->??Object.prototype???----->??null

函數(shù)Person()的原型鏈:

Person()?---->?Function.prototype?---->?Object.prototype?----->??null

1.console.log(Person.constructor)

Person本身是一個函數(shù),它的__proto__指向Function的prototype,它沒有constructor屬性(只有Person的prototype才有constructor屬性),Person的基本屬性沒有constructor屬性,所以它會沿著__proto__(原型鏈)往上查找,所以它的__proto__上一級是Function的prototype,而Function的prototype的constructor屬性指向下面的結(jié)果

結(jié)果: function Function(){}


2.console.log(Person.prototype)

由于Person.prototype已經(jīng)被重置為一個空的對象
所以會返回一個對象

結(jié)果: Object

但她還是一個對象,所以她還是有__proto__屬性,__proto__的上一級是指向Object.prototype,而Object.prototype里面又有如題主圖中所示的很多屬性


3.console.log(Person.prototype.constructor)

由于Person.prototype已經(jīng)被重置為一個空的對象,里面沒有constructor屬性,所以她會往上查找該屬性,上面也提到她的__proto__的上一級是指向Object.prototype,而Object.prototype的constructor屬性指向function Object(){}

結(jié)果: function Object(){}


有時間再寫詳細一點,歡迎指正錯誤


查看完整回答
反對 回復 2018-10-28
  • 1 回答
  • 0 關注
  • 777 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號