Совместимость с Javascript IN

Может ли кто-нибудь сказать мне, с какой версией ECMA доступен оператор IN и какие браузеры (версии) поддерживают его?

Пояснение:

Оператор IN может использоваться следующим образом:

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

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

Ответы

Ответ 1

Он определен в 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

Ответ 2

Согласно MDC, реализован в JavaScript 1.4.

Согласно Wikipedia:

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

Итак, я думаю, что вы, вероятно, в порядке:)