我有一小段代码,使用相同的名称分配原型属性和对象属性。在创建对象后访问此testNumber
将始终显示对象属性,我理解它将首先在对象上查找属性,然后在对象原型中查找,然后是原型的原型等。
但我的问题是,在这种情况下有没有办法直接访问原型的属性? [只是一个注释,我不知道什么时候我真的需要在实践中做到这一点,但这只是我想要找到的,为了我自己的理智]。
function MyObject1(formalParameter){
this.testNumber = formalParameter;
}
MyObject1.prototype.testNumber = 55;
var mine = new MyObject1(10);
alert(mine.testNumber);
答案 0 :(得分:2)
您可以通过实例的constructor
属性访问原型:
alert(mine.constructor.prototype.testNumber);
如果您在没有保留其constructor
属性的情况下使用原型完成了奇怪的事情,或者由于某种原因您有一个名为constructor
的实例属性,则无效。