亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于prototype的幾個問題

如果把
Student.prototype=Object.create(Person.prototype)
改成
Student.prototype=Person.prototype

1.修改后Student和Person的prototype就都變成 了Student ? ,Bosn老師說的是Person.prototype被污染了,這句話怎么理解??


2.Bosn 老師 ?我看到constructor里面的prototype有什么意義?





正在回答

1 回答

首先你要明白什么時候繼承,比如你繼承我的財產,我的財產就是你的,而你自己的還是你自己的。

同樣,Student.prototype=Object.create(Person.prototype)這條語句是Student.prototype繼承了Person.prototype的屬性。再繼承屬性之后,Student還可以設置自己的屬性(Person不會擁有)。

而Student.prototype=Person.prototype會導致在Student.prototype繼承了Person.prototype的屬性之后,Student.prototype設置自己的屬性,Person.prototype也會擁有該屬性。從而導致了Person.prototype被污染了。

一般來說,一個對象的prototype里會有constructor和__proto__兩個內置屬性,constructor一般是該函數對象(數組類型),而__proto__就是原型鏈咯


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript深入淺出
  • 參與學習       281094    人
  • 解答問題       1054    個

由淺入深學習JS語言特性,且解析JS常見誤區,從入門到掌握

進入課程

關于prototype的幾個問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號