window.hasOwnProperty(' innerHeight')在Firefox中返回false

时间:2014-07-25 11:04:54

标签: javascript firefox sinon

我在Firefox上运行的单元测试中,在窗口对象上删除innerHeight属性时遇到一个奇怪的问题。

window.hasOwnProperty('innerHeight')会根据https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty MDN [docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty)返回false(仅在Firefox中)。但是,什么对象是在?

上定义的innerHeight属性

这在窗口上失败(因为没有原型)属性?

window.prototype.hasOwnProperty('innerHeight');

我想知道的主要原因是在使用sinon的测试期间将属性存在,但在firefox中失败,因为firefox报告此属性不属于window对象。那它属于什么对象?

1 个答案:

答案 0 :(得分:1)

prototype属性属于Window构造函数。但我会按照adeneo的建议使用'innerHeight' in window,因为这会检查window对象及其原型链。