Проблемы есть у всех, но мы здесь обсуждаем не их, а typeof.
"Адовость" в том, что чтобы написать простую функцию требуется множество выкрутасов с последующей отладкой во всех браузерах.
Попробую ещё раз описать её.
Нужно проитерировать произвольное входное значение.
Для этого нужно соотнести её с одним из трёх семантически различных типов:
1. грубо говоря "словарь": то что итерировать нужно через for..in.
2. список (Array, arguments, HTMLCollection ...), перебираемый последовательным доступом.
3. скаляр, сюда же нужно отнести function, DOMElement, TextNode и другие подобные структуры.
хотя они и являются объектами, но работать нужно с их значением, а не набором привязанных свойств.
вот если приведёшь реализацию функции, в которой это всё будет сделано просто, элегантно и органично с языком, то я заберу все свои слова назад.
|