与对象属性同名的原型属性

Prototype property with same name as object property

本文关键字:属性 原型 对象      更新时间:2023-09-26

我有一小段代码,它使用相同的名称分配原型属性和对象属性。在创建对象后访问此testNumber将始终显示对象属性,我理解这一点,因为它将首先在对象上查找属性,然后在对象原型中查找属性,然后是原型的原型等。

但我的问题是,在这种情况下,有没有办法直接访问原型的属性?[只是一个说明,我不知道我什么时候在实践中真正需要这样做,但这只是我想为了自己的理智而找出的东西]。

function MyObject1(formalParameter){
    this.testNumber = formalParameter;
}
​MyObject1.prototype.testNumber​ = 55;
var mine = new MyObject1(10);
alert(mine.testNumber);

您可以通过实例的 constructor 属性访问原型:

alert(mine.constructor.prototype.testNumber);

如果您在不保留原型constructor属性的情况下对原型做了奇怪的事情,或者由于某种原因您有一个名为 constructor 的实例属性,则不起作用。