接着下一个代码块在Person.prototype(Person的原型属性对对象)中添加了一个方法sayHello();
根据输出,我们发现即使friend实例是在添加新方法之前创建的,但它任然可以访问这个新方法...其原因可以归结为实例与原型之间的松散连接关系,当我们调用friend.sayHello()时,首先会在实例中搜索名为sayHello的属性方法,如果实例属性中没有,则会继续去搜索原型。...而原型与实例之间是通过[[prototype]]指针相连接的(实例通过[[prototype]]指针指向原型属性对象来调用原型中的方法和属性),正因为[[prototype]]是一个指针,并不是Person...的副本,所以即使修改(添加)原型的方法在创建完实例之后,该实例任然可以访问完成修改之后的原型对象!...从上面的图我们可以看出,重写原型对象之后,并没有是对象实例的[[prototype]]指针的值发生改变,它还是指向最初的原型对象。