操作员兼容性中的Javascript

操作员兼容性中的Javascript,javascript,ecma262,Javascript,Ecma262,有人能告诉我,因为运营商中的哪个ECMA版本可用,以及哪些浏览器(版本)支持它吗 说明: IN运算符可按如下方式使用: var myObject = { Firstname: 'Foo', Lastname: 'Bar' }; if('Lastname' in myObject){ // Lastname is an attribute of myObject } 根据MDC的说法,这是一个错误 根据: Netscape Navigator 6.0 火狐1.0+ I

有人能告诉我,因为运营商中的哪个ECMA版本可用,以及哪些浏览器(版本)支持它吗

说明:

IN运算符可按如下方式使用:

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

if('Lastname' in myObject){
    // Lastname is an attribute of myObject
}
根据MDC的说法,这是一个错误

根据:

  • Netscape Navigator 6.0
  • 火狐1.0+
  • IE 5.5+
  • 歌剧6.0+
  • Safari 3.0+
  • 铬1.0+
所以我认为你可能没问题:)

它是在中定义的。它在IE 5.5+和Firefox、Chrome、Opera和Safari的所有使用版本中提供

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

在使用它检查事件支持时,您应该谨慎行事。除较早的Firefox版本外,所有实现都支持在元素中使用“eventname”作为DOM事件的测试

"onclick" in document.body; // -> false in old Fx, true in others
document.body.setAttribute("onclick", "");
typeof(document.body.onclick == "function"); // -> true in Fx

因为我可以做
undefined='defined!'前面的代码,这显然是有益的。真的,你应该把它作为另一个答案,现在我们的评论毫无意义。@Skilldrick您可以使用
标记删除答案中的文本。注意:我怀疑Wikipedia是否是浏览器版本支持的Javascript功能的可靠来源。它仅在IE 5.5+中;IE 5.0是
的“问题浏览器”,尽管这种担忧显然早已过去。FWIW我在第二版中看不到它@@Nick:它当然是在3.0中,尽管IE在发布时不支持它。ECMAScript 3.1是第五版的开发名称。@bobince-你说得对,我有第二版,而不是第三版,在比较时找不到第11.8.7节,它是在3.0中。@Andy:你说得对,那个文档真是胡说八道!我这里有IE5/Win98,而
中的
显然不起作用。