49

有人可以告诉我 IN 运算符可用的 ECMA 版本以及哪些浏览器(版本)支持它吗?

解释:

IN 运算符可以像下面这样使用:

var myObject = {
    Firstname: 'Foo',
    Lastname: 'Bar'
};

if('Lastname' in myObject){
    // Lastname is an attribute of myObject
}
4

2 回答 2

56

它在ECMAScript 第 3 版中定义。它适用于 IE 5.5+ 和所有使用中的 Firefox、Chrome、Opera 和 Safari 版本。

您可以安全地使用它,因为它知道它会起作用。

在使用它来检查事件支持时,您应该谨慎行事。除了旧 Firefox 版本之外的所有实现都支持"eventname" in element作为 DOM 事件的测试。

"onclick" in document.body; // -> false in old Fx, true in others
document.body.setAttribute("onclick", "");
typeof(document.body.onclick == "function"); // -> true in Fx
于 2010-05-27T11:57:37.747 回答
2

根据 MDC,它是在 JavaScript 1.4 中实现的

根据维基百科

  • 网景导航器 6.0
  • 火狐1.0+
  • IE 5.5+
  • 歌剧 6.0+
  • Safari 3.0+
  • 铬 1.0+

所以我认为你可能没问题:)

于 2010-05-27T11:49:12.637 回答