原型的动态性

使用构造函数创建实例对象后,如果使用对象字面量对原型赋值将会改变原型地址,而实例上的————proto————依旧指向原来的地址,实例引用的还是最初的原型
···
function Person(name){
this.name = name
}
Person.prototype.sayName=function(){
return this.name}

var a=new Person('frank')
console.log(a.sayName())//'frank'

function Person(name){
this.name = name
}
Person.prototype.sayName=function(){
return 'jack'}

var a=new Person('frank')
console.log(a.sayName())//'jack'
Person.prototype={
sayName:function(){
return 'frank'}}

console.log(a.sayName())//'jack'

上面的例子可以看出在new创建实例后,
对象字面量对原型赋值将会改变构造函数原型地址,
但实例的原型还是最初的原型
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容