Javascript IN运算符兼容性

时间:2010-05-27 11:46:22

标签: javascript ecma262

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

说明:

IN-operator可以像下面一样使用:

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

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

2 个答案:

答案 0 :(得分:55)

它在ECMAScript 3rd edition中定义。它适用于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

答案 1 :(得分:2)

根据MDC,它是implemented in JavaScript 1.4

根据Wikipedia

  • Netscape Navigator 6.0
  • Firefox 1.0 +
  • IE 5.5 +
  • Opera 6.0 +
  • Safari 3.0 +
  • Chrome 1.0 +

所以我认为你可能没事:)