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

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

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

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

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

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

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

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

Решение

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

Не по теме:

Цитата Сообщение от Путин Посмотреть сообщение
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
03.03.2014, 18:11

Не по теме:

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

0
03.03.2014, 18:16

Не по теме:

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

0
20 / 20 / 15
Регистрация: 16.02.2014
Сообщений: 73
03.03.2014, 19:24
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.03.2014, 19:24
Помогаю со студенческими работами здесь

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

Проверить сессию на существование
Нужно что то вроде этого если сесия "L" существует то скрыть окно. как решить jq? if($.session.set("l", "value")) ...

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

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

Как проверить существование файла
Вот функция, которая вызывается onLoad, создает текстовый файл и записывает туда строчку: var filepath='C:\testfile.txt' var fso=new...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
Линейное решение нелинейной задачи будет применено как метод обработки данных из double buffering. Формулы от LM конечно с ошибками.
Hrethgir 10.04.2025
В продолжение Эта LM дала ответ похожий на нормальный. В комментриях мой комментарий - похоже она ошиблась с выведением итоговой формулы, но остальные проверю. Assistant qwen2. 5-14b-instruct . . . .
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
Линейное решение не линейной задачи (емкость вычислений в сравнении с традиционными решениями пока не определена).
Hrethgir 10.04.2025
В рамках предстоящих вычислений пришлось (да, я тоже знаю про корень числа, и про степеня, и прочие теоремы, но. . . ) найти способ нахождения отношения двух углов. . . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
Vue SFC компонент на PHP с Fusion
Jason-Webb 09.04.2025
PHP на сервере и JavaScript на клиенте — классическое сочетание, которое, несмотря на свою эффективность, создает определенный когнитивный диссонанс при разработке. В этом контексте появляются. . .
TypeScript vs JavaScript: Отличия и когда что использовать
Reangularity 09.04.2025
JavaScript появился в 1995 году как творение Брендана Эйха и быстро стал основой интерактивности в вебе. За свою историю он прошел путь от простого языка для манипуляций с DOM до полноценной. . .
Подключение Kafka к Elasticsearch
Codd 09.04.2025
Apache Kafka и Elasticsearch — две мощные технологии, которые при совместном использовании создают эффективную платформу для обработки и анализа данных в реальном времени. Kafka, выступая в роли. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер