面试必问系列 构造函数,原型对象,实例之间的关系(二)实例属性和原型属性

在学习构造函数,原型对象,实例之间的关系时,有一个特别容易混乱的点就是实例属性和原型属性

面试必问系列 构造函数,原型对象,实例之间的关系(二)实例属性和原型属性

创建实例之后,我们可以为实例对象继续添加属性,如果我们添加的属性和原型对象中的属性重名,那么调用的时候,就会先在实例中查找是否有这个属性,如果有就直接取实例中的属性,如果没有就去原型对象查找,如果原型对象中也没有就去构造函数查找,如果都没有就返回空

如果实例属性和原型属性重名,调用的时候,实例属性就会屏蔽原型属性,怎么判断一个属性是实例属性还是原型属性呢

hasOwnProperty(),传入参数名,如果是实例属性就会返回true

面试必问系列 构造函数,原型对象,实例之间的关系(二)实例属性和原型属性