【问题标题】:object has no hasOwnProperty method (i.e. it's undefined) - IE8对象没有 hasOwnProperty 方法(即未定义) - IE8
【发布时间】:2011-12-30 18:11:18
【问题描述】:

这看起来很奇怪。

这是我在 IE8 控制台中的实验:

typeof obj1 // "object"
obj1.hasOwnProperty // {...}

typeof obj2 // "object"
obj2.hasOwnProperty // undefined

关于什么可能导致这种情况的任何想法?

【问题讨论】:

标签: javascript internet-explorer-8 ie-developer-tools hasownproperty


【解决方案1】:

此示例来自 IE8,但来自 IE6+ 和大多数其他 IE 浏览器的返回相同。

#9 之前的 IE 没有为 host 对象定义它

var o=window;// or document or document elements
o.hasOwnProperty

/*  returned value: (undefined)
undefined
*/

【讨论】:

  • 可能是Object.prototype.hasOwnProperty.call(window,name)?
  • @panzi:非常感谢!这在 IE8 中有效,现在我的网站可以正确检测到不兼容的浏览器。 (之前,会在空白页上崩溃,因为没有 window.hasOwnProperty)
  • @panzi:如果您将评论中的信息作为答案发布可能会更好。这确实是问题的解决方案
  • @Oleg 这只是猜测(因此是“也许”)。它真的有效吗?然后我会写一个答案。
  • @panzi:据我所知,在 IE8 中创建的所有 DOM 元素/节点都存在与 hasOwnProperty 相同的问题,但可以成功使用 Object.prototype.hasOwnProperty.call(domElement,name)
猜你喜欢
  • 2013-05-11
  • 2013-12-28
  • 2020-09-21
  • 1970-01-01
  • 2019-01-30
  • 2016-01-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多