与对象属性同名的原型属性
Prototype property with same name as object property
我有一小段代码,它使用相同的名称分配原型属性和对象属性。在创建对象后访问此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
的实例属性,则不起作用。
相关文章:
- 如何从对象的原型方法访问JavaScript对象属性
- 附加到原型属性的Do函数没有闭包
- 日期原型属性
- 价值、原型和属性的差异
- 使用闭包创建原型中引用的私有属性
- 为什么属性存在于对象实例上,即使其原型发生了更改
- 为什么在原型中定义属性被视为反模式
- JS构造函数的原型属性与其原型之间的区别
- 为什么函数对象的实例没有继承函数原型属性
- 组件是HTML5的属性还是原型.js的东西
- 为什么浏览器显示原型属性不同
- 使用原型对象向javascript对象添加自定义属性和方法的建议
- Javascript设置&阴影属性(原型链)
- 高图表热图 未捕获类型错误:无法读取未定义的属性“原型”
- 无法使用服务AngularJS - “无法读取未定义的属性'原型'”
- 未捕获的类型错误:无法读取未定义的属性“原型”
- 如何在DOM object的构造函数中添加属性.原型在Internet Explorer<=IE8
- 扩展类不能读取未定义的属性原型
- 未捕获的类型错误:无法读取未定义的 sails.io.js 的属性“原型”
- 升级到量角器4后无法读取未定义的属性“原型”