84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
위와 같이 예시 p1和p2的__proto__指向同一个原型对象Person.prototype,
p1
p2
__proto__
Person.prototype
실행p1.age=12,为啥p1.age没跟着变成12,而还是原来的0
p1.age=12
p1.age
12
0
p1.age并不会改变原型的值,p2没有age属性,会顺着原型链向上找,找到Person里面age,所以p2.page就是等于Person.prototype.age
p1.age프로토타입의 속성 대신 p1의 속성을 수정하기 때문입니다.
p1.age = 12는 p1의 나이에만 값을 할당하고 Person의 나이에는 값을 할당하지 않으므로 p2의 나이는 할당되지 않으므로 프로토타입에서는 여전히 0입니다
p1.age = 12实际上是给p1添加了一个值为12的属性age,访问p1.age时会直接访问到这个属性而不会去原型链上找age,如果要实现p1 p2都被改变,可以这么写 p1.__proto__.age = 12
p1.age = 12
age
p1.__proto__.age = 12
p1.age并不会改变原型的值,p2没有age属性,会顺着原型链向上找,找到Person里面age,所以p2.page就是等于Person.prototype.age
p1.age
프로토타입의 속성 대신 p1의 속성을 수정하기 때문입니다.p1.age = 12는 p1의 나이에만 값을 할당하고 Person의 나이에는 값을 할당하지 않으므로 p2의 나이는 할당되지 않으므로 프로토타입에서는 여전히 0입니다
p1.age = 12
实际上是给p1
添加了一个值为12的属性age
,访问p1.age
时会直接访问到这个属性而不会去原型链上找age
,如果要实现p1 p2都被改变,可以这么写p1.__proto__.age = 12