Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   IE7, "undefined" - есть null или не является объектом (https://javascript.ru/forum/misc/13164-ie7-undefined-est-null-ili-ne-yavlyaetsya-obektom.html)

kostepanych 18.11.2010 13:36

IE7, "undefined" - есть null или не является объектом
 
if (typeof h.id == "undefined")
        {
            h.id = e
        }

Не могу въехать, почему в этом участке кода в IE7 возникает ошибка: "undefined" - есть null или не является объектом?
Код библиотечный, поэтому править я его не могу.
В FireFox все гуд.

Gvozd 18.11.2010 13:46

это значит, что h - undefined" - есть null или не является объектом
а почему так случилось, откуда мы знаем?телепаты в отпуске
судя по всему вы пытаетесь применить эту функции для несуществующего DOM-элемента

Sweet 18.11.2010 14:03

Если h - DOM-элемент, то значение свойства id никогда не будет "undefined". Если id не установлен, то по умолчанию он будет пустой строкой.

Gvozd 18.11.2010 14:08

Sweet,
подумайте внимательнее.
если h - DOM-элемент, то данный код разумеется не даст ошибки, по приведенным вам рассуждениям.
да, даже если бы свойство id было бы Undefined? Он бы все равно не дал ошибки
это вполне очевидно.


данный код даст ошибку, если сам h - undefined
при попытке получения свойства у undefined, разумеется будет ошибка

Sweet 18.11.2010 14:12

Цитата:

Сообщение от Gvozd
данный код даст ошибку, если сам h - undefined

Это я понимаю. Я это к тому, что когда ошибка будет исправлена, то код, возможно, будет работать не так, как ожидает ТС.

Gvozd 18.11.2010 14:16

Цитата:

Сообщение от Sweet
Я это к тому, что когда ошибка будет исправлена, то код, возможно, будет работать не так, как ожидает ТС.

вполне возможно.
но я сделал всего лишь предположение, что h может быть DOM-объектом, а вы его подхватили.

это может быть что угодно, и тогда и код может быть верным

kostepanych 18.11.2010 17:35

Все, разобрался сам, тему можно закрывать.

Почемучкин 24.11.2011 21:27

А почему undefined - строковая константа?

trikadin 24.11.2011 23:18

Почемучкин, а почему куки через строки ставятся? И окна открываются...

Но если вы о конкретном данном примере - то ф-ция typeof возвращает строковое значение


Часовой пояс GMT +3, время: 20:38.