Совместимость с оператором Javascript IN - PullRequest
47 голосов
/ 27 мая 2010

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

Пояснение:

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

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

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

Ответы [ 2 ]

55 голосов
/ 27 мая 2010

Определено в 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
2 голосов
/ 27 мая 2010

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

Согласно Википедии :

  • Netscape Navigator 6.0
  • Firefox 1.0 +
  • IE 5,5 +
  • Опера 6.0 +
  • Safari 3.0 +
  • Chrome 1.0 +

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

...