构造函数的属性与原型对象的属性同名

function B(){
  this.name = "ni"
}
B.prototype.name = "psx"
var instance = new B()
console.log(instance.name) //ni

当构造函数进行实例化的时候,实例对象会对构造函数中的这些属性拷贝出一份副本,即会获得name=“ni”,当实例调用属性name的的时候,会先从构造函数中搜索name属性,如果构造函数中没有name属性,就去向原型对象中搜索name属性,如果原型对象中没有name属性,就会打印出undefined

猜你喜欢

转载自www.cnblogs.com/psxiao/p/11370727.html