javascript – Problem mit dem Prototypobjektprototyp
習慣沉默
習慣沉默 2017-06-30 09:58:00
0
4
779

Wie oben gezeigt, Beispiele p1p2__proto__指向同一个原型对象Person.prototype,

Ausführenp1.age=12,为啥p1.age没跟着变成12,而还是原来的0

習慣沉默
習慣沉默

Antworte allen(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时会直接访问到这个属性而不会去原型链上找age,如果要实现p1 p2都被改变,可以这么写 p1.__proto__.age = 12

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!