Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/43: Рейтинг темы: голосов - 43, средняя оценка - 4.60
45 / 25 / 16
Регистрация: 14.04.2011
Сообщений: 623
1

Как проверить существование объекта

01.03.2014, 20:58. Показов 7811. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть объект "data.response[1].body", иногда его может и не быть. Как собсно это проверить?
если его нет в консоле выбивает:
Uncaught TypeError: Cannot read property 'body' of undefined
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.03.2014, 20:58
Ответы с готовыми решениями:

Как проверить на существование элемента, после элемента input
У меня если поля input пустые - создается в js div.error с ошибкой. Как можно проверить на...

Проверить переменную на существование
Какой-то идиотизм. В php isset решает проблему. Или даже просто if($variable). В javascript не...

Проверить существование блока
как проверить существование блока? Задача : изначально я показываю первый блок остальные...

Проверить существование куки
Приветствую. Вопрос заключается в том, что мне требуется проверить существование куки. Для работы с...

8
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
01.03.2014, 21:17 2
Javascript
1
2
3
if(typeof data.response[2].body == 'undefined') {
    // если нет
}
0
45 / 25 / 16
Регистрация: 14.04.2011
Сообщений: 623
01.03.2014, 21:46  [ТС] 3
Нет так не получается, так прокатывало с переменными, но если этого объекта нет, то он не "undefined", не "null" вообще ничему не равен.
0
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
01.03.2014, 22:21 4
Все верно, только надо проверять не свойство а объект:
Javascript
1
2
3
if(typeof data.response === 'undefined') {
    // если нет
}
0
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
01.03.2014, 22:25 5
Лучший ответ Сообщение было отмечено Путин как решение

Решение

Цитата Сообщение от Путин Посмотреть сообщение
Нет так не получается
Получится и очень даже хорошо, если это касается именно 'body'
1
Vovan-VE
03.03.2014, 17:46
  #6

Не по теме:

Цитата Сообщение от Путин Посмотреть сообщение
property 'body' of undefined
Lazy_Den, typeof позволяет не существовать только "последнему" "элементу":
Javascript
1
2
3
4
5
6
>>> typeof some_unknown_var
"undefined"
>>> typeof {}.unknown_property
"undefined"
>>> typeof {}.unknown_property.one_more_property
Unhandled Error: Cannot convert '{}.unknown_property' to object

0
Lazy_Den
03.03.2014, 18:11
  #7

Не по теме:

Цитата Сообщение от Vovan-VE Посмотреть сообщение
Lazy_Den, typeof позволяет не существовать только "последнему" "элементу":
А я разве не на этом акцентировал внимание? "если это касается именно 'body'"

0
Vovan-VE
03.03.2014, 18:16
  #8

Не по теме:

Lazy_Den, У Вас в примере responce[i] везде есть object. А в сабже говорится of undefined.

0
20 / 20 / 15
Регистрация: 16.02.2014
Сообщений: 73
03.03.2014, 19:24 9
Javascript
1
2
3
4
if('body' in data.response[2])
{
// ok
}
Если под объектом имелось ввиду второй элемент массива response, то еще легче
Javascript
1
2
3
4
if(2 in data.response)
{
// ok
}
0
03.03.2014, 19:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2014, 19:24
Помогаю со студенческими работами здесь

Проверить сессию на существование
Нужно что то вроде этого если сесия "L" существует то скрыть окно. как решить jq? ...

JQuery! Проверка самого себя, Как проверить цвета объекта, равны ли они самому себе?
Есть несколько div, с классом .menu, у меня такая ситуация что цвет меняется динамически (сразу 1...

IsObject. Не удается проверить существование объекта.
Не удается проверить существование объекта. Пишу в VBScript: if IsObject(form1.d) then alert 'Y'...

Как проверить существование файла
Вот функция, которая вызывается onLoad, создает текстовый файл и записывает туда строчку: var...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru