有人可以告诉我哪个ECMA版本的IN运算符可用以及哪些浏览器(版本)支持它?
说明:
IN-operator可以像下面一样使用:
var myObject = {
Firstname: 'Foo',
Lastname: 'Bar'
};
if('Lastname' in myObject){
// Lastname is an attribute of myObject
}
答案 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:
所以我认为你可能没事:)