Показать сообщение отдельно
  #14 (permalink)  
Старый 11.03.2015, 18:27
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Sigizmund2012, почти. Это проверка на существования свойства в объекте/массиве.

var obj = {foo: 'bar'};

alert('foo' in obj); //true, так как свойство 'foo' есть у объекта

alert('bla' in obj); //false, потому что нет такого свойства у объекта.



Ты можешь писать условия так:
if(obj.foo) {
    ...
}
else {
    ...
}


Но этот способ возвращает нам сразу всё значение obj.foo и потом уже преобразуется в булево. А вот способ ниже сразу возвращает true/false, а значит и работает быстрее, и более правилен.

if('foo' in obj) {
    ...
}
else {
    ...
}


И на заметку: https://msdn.microsoft.com/ru-ru/lib...(v=vs.94).aspx
Ответить с цитированием