文章詳情頁
javascript - 原型對(duì)象prototype的問題
瀏覽:212日期:2023-04-21 18:08:14
問題描述

如上圖,實(shí)例p1和p2的__proto__指向同一個(gè)原型對(duì)象Person.prototype,
執(zhí)行p1.age=12,為啥p1.age沒跟著變成12,而還是原來的0
問題解答
回答1:p1.age并不會(huì)改變?cè)偷闹担琾2沒有age屬性,會(huì)順著原型鏈向上找,找到Person里面age,所以p2.page就是等于Person.prototype.age
回答2:因?yàn)閜1.age修改的是 p1 上的屬性而不是原型上的屬性。
回答3:p1.age = 12只會(huì)給p1的age賦值,不會(huì)給Person的age賦值,所以p2的age沒有被賦值,所以還是原型上的0
回答4:p1.age = 12實(shí)際上是給p1添加了一個(gè)值為12的屬性age,訪問p1.age時(shí)會(huì)直接訪問到這個(gè)屬性而不會(huì)去原型鏈上找age,如果要實(shí)現(xiàn)p1 p2都被改變,可以這么寫 p1.__proto__.age = 12
標(biāo)簽:
JavaScript
上一條:javascript - 關(guān)于mint-ui的datetimePicker滑動(dòng)選中時(shí)間后,點(diǎn)取消按鈕重置時(shí)間的問題?下一條:javascript - 為什么clearInterVal不起作用呢?
相關(guān)文章:
1. angular.js - angular內(nèi)容過長展開收起效果2. dockerfile - [docker build image失敗- npm install]3. docker-compose中volumes的問題5. golang - 用IDE看docker源碼時(shí)的小問題6. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題7. mac里的docker如何命令行開啟呢?8. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?9. docker內(nèi)創(chuàng)建jenkins訪問另一個(gè)容器下的服務(wù)器問題10. nignx - docker內(nèi)nginx 80端口被占用
排行榜

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備