//codefunction Person(){};
Person.prototype.name = "Leon";
Person.prototype.age = 22;
Person.prototype.say = function(){
alert(this.name + "," + this.age);
}
var p1 = new Person();console.info(p1.__proto__.age = 30);console.info(p1.__proto__);//console30Person { name="Leon", age=30, say=function()}記得書中描述是不可通過__proto__修改原型的,為什么我自己測試完了,結果卻是可以的?我們通過new Person()創建了一個Person對象p1,此時會在內存中為p1對象分配一塊內存空間,在p1的內存空間中會有一個_proto_內部屬性,這個內部屬性是不能被訪問的,它也指向Person原型。需要特別注意的是:原型中的值是不會被替換的,僅僅只是在屬性查找時被對象自己空間中的同名屬性所覆蓋。
javascript 原型相關一個問題?
三國紛爭
2018-10-09 13:35:25