javascript - 原型物件prototype的問題
習慣沉默
習慣沉默 2017-06-30 09:58:00
0
4
793

#如上圖,實例p1p2__proto__指向同一個原型物件Person.prototype

執行p1.age=12,為啥p1.age沒跟著變成12,而還是原來的0

#
習慣沉默
習慣沉默

全部回覆(4)
漂亮男人

p1.age並不會改變原型的值,p2沒有age屬性,會順著原型鏈往上找,找到Person裡面age,所以p2.page就是等於Person.prototype.age

阿神

因為p1.age修改的是 p1 上的屬性而不是原型上的屬性。

世界只因有你

p1.age = 12只會給p1的age賦值,不會給Person的age值,所以p2的age沒有被賦值,所以還是原型上的0

为情所困

p1.age = 12實際上是給p1添加了一個值為12的屬性age,訪問p1.age時會直接訪問到這個屬性而不會去原型鏈上找p1.age時會直接訪問到這個屬性而不會去原型鏈上找age ,如果要實現p1 p2都改變,可以這麼寫

p1.__proto__.age = 12🎜🎜
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板