文章详情页
javascript - 原型对象prototype的问题
浏览:164日期:2023-04-21 18:08:14
问题描述

如上图,实例p1和p2的__proto__指向同一个原型对象Person.prototype,
执行p1.age=12,为啥p1.age没跟着变成12,而还是原来的0
问题解答
回答1:p1.age并不会改变原型的值,p2没有age属性,会顺着原型链向上找,找到Person里面age,所以p2.page就是等于Person.prototype.age
回答2:因为p1.age修改的是 p1 上的属性而不是原型上的属性。
回答3:p1.age = 12只会给p1的age赋值,不会给Person的age赋值,所以p2的age没有被赋值,所以还是原型上的0
回答4:p1.age = 12实际上是给p1添加了一个值为12的属性age,访问p1.age时会直接访问到这个属性而不会去原型链上找age,如果要实现p1 p2都被改变,可以这么写 p1.__proto__.age = 12
标签:
JavaScript
上一条:javascript - 关于mint-ui的datetimePicker滑动选中时间后,点取消按钮重置时间的问题?下一条:javascript - 为什么clearInterVal不起作用呢?
相关文章:
1. python - pyspider的分布式运行成功,2台slave跑,但是时间并没有缩短问题?2. vim - YouCompleteMe 怎么自动补全css属性和属性值?3. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题4. Java IO流-InputStream是抽象类,也能调方法?(如图)5. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?6. python - Django中如何使用异步7. ,我写的代码哪里出错了?为什么就是显示不出来peter?8. docker不显示端口映射呢?9. Ant design vue中的联动选择取消操作10. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?
排行榜

网公网安备