关于prototype的一个小问题

代如下


function Person(){}


Person.prototype.name = 'Mary';


var p1 = new Person();

var p2 = new Person();


p1.name = 'Jack';

p2.name = 'Tom';


console.log(p1.name);

console.log(p2.name);

控制台输出为


Jack

Tom

name属性为原型对象拥有,为什么p2重新复制以后,p1依然能访问到自己赋的值?


至尊宝的传说
浏览 382回答 2
2回答

繁花不似锦

原型对象拥有的,可以在实例对象中覆盖。JS 会先找实例对象中指定名称的属性(或方法)如果找不到,再从原型链去依次查找。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript