powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / HTMLCollection instanceof Object
7 сообщений из 7, страница 1 из 1
HTMLCollection instanceof Object
    #35459560
Javakka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую всех!
Кто-нибудь может подсказать, почему следующая конструкция в IE6 пишет false, хотя в Mozilla 2 - true? Это глюк кого-то из них, или тут есть какой-то более глубокий смысл?

Код: plaintext
1.
2.
var a = document.getElementsByTagName("div");
document.write(a instanceof Object);
...
Рейтинг: 0 / 0
HTMLCollection instanceof Object
    #35461189
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смысл тут такой.
В ИЕ Объект.прототип.мой_функций() наследуется только объектами ЯваСкрипт.
А в других браузерах и ДОМ-элементами.
Как правильно - трудно сказать. У всех своя правда. ДОМ элементы не специфицированы в ECMAScript-272.

Но мне меньше нравится позиция ИЕ по той простой причине, что создается ощущение, что МС не реализовали такую возможность скорее от лени, вернее желания поскорее выдать нагора очередной продукт, чем сознательно.
...
Рейтинг: 0 / 0
HTMLCollection instanceof Object
    #35461195
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, если Вам конкретно нужна такая проверка используйте typeof el == "object"
...
Рейтинг: 0 / 0
HTMLCollection instanceof Object
    #35461494
Javakka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял, спасибо за объяснение!
...
Рейтинг: 0 / 0
HTMLCollection instanceof Object
    #35461927
Javakka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обнаружилась ещё одна проблемка.

Вообще-то суть вопроса в том, чтобы проверить, что переданный аргумент является объектом, а не простым типом. "typeof el == object" работало идеально до тех пор, пока я не попробовал протестировать функцию в Safari. Там объект, возвращаемый функцией getElementsByTagName, имеет typeof, страшно сказать, "function"! Это вообще doesn't make any sense to me. И как быть?

Я пока использовал следующий подход, что называется, в лоб:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SIMPLE_TYPES_ARRAY = new Array();
SIMPLE_TYPES_ARRAY["string"]  = true;
SIMPLE_TYPES_ARRAY["number"]  = true;
SIMPLE_TYPES_ARRAY["boolean"] = true;

...

if (SIMPLE_TYPES_ARRAY[typeof element]) {
    ...
}

Корректно ли это? И что вы можете сказать по поводу ещё более загадочного поведения Safari?
...
Рейтинг: 0 / 0
HTMLCollection instanceof Object
    #35462015
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JavakkaКорректно ли это? И что вы можете сказать по поводу ещё более загадочного поведения Safari?

Смотря что считаете "простым типом". Если это типы кроме object и function, то есть еще undefined и null. Может, их тоже добавить (null хоть и объект, но специфический).

Про Safari тут: http://dhtmlkitchen.com/news/default/2007/10/10/
...
Рейтинг: 0 / 0
HTMLCollection instanceof Object
    #35462048
Javakka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ссылку, познавательно. Ну а с null и undefined я там разбираюсь отдельно :о)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / HTMLCollection instanceof Object
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]