Показать сообщение отдельно
  #30 (permalink)  
Старый 21.05.2015, 11:54
Интересующийся
Отправить личное сообщение для Nikolay256 Посмотреть профиль Найти все сообщения от Nikolay256
 
Регистрация: 12.02.2011
Сообщений: 16

Цитата:
Был в моей практике случай, когда один фреймворк каким-то веселым чудом поменял поведение массивов... всех массивов вообще. Я толком не разбирался, как именно это вышло, лишь знаю в тысячах строк фреймворка идет работа с Array.prototype. Суть в следующем. Массив можно перебирать, как и объект, через for (var key in array) - это даже в документации написано (я специально на всяких w3...- сайтах искал). И на самом деле все браузеры так и делали. При этом для массива перебираются только его индексы. Однако после применения того фреймворка в IE у меня стали в качестве ключей вылезать length и еще какие-то ключи. Что-то там было через прототипы изменено. Очень повезло, что ошибка быстро обнаружилась и не пришлось делать глобальных переделок.

И кстати, не просто typeof null == 'object', а typeof null === 'object'. Просто лично я не использую сравнение со строкой из-за паранойи... а вдруг в каком-нибудь тупом браузере будет не 'object', а 'Object' или 'OBJECT'... Тогда и проверка без учета типа провалится... Но это скорее всего именно паранойя... дождемся Спартанца из десятки))))
у меня тоже пару месяцев назад такое было)) length влезал в массив, пару дней отлавливал. Какой-то девелоп поставил на ту страницу сайта библиотеку, со странным перебором for по массиву, тоже долго ругался)
Цитата:
typeof null === 'object'.
я так тоже не использую, просто меня один коллега отчитал, что не использую полную проверку(использую №2) я вот и решил конкурс запилить, сам уже ответил, как аргументирую свою позицию:
Цитата:
Я лично за вариант 2, так как считаю №1 лишней смысловой нагрузкой
Те, кто будет использовать данную ф-ю в дальнейшем, должны знать, что они передают в нее.
да и его вариант оказался недостаточно правильным, так как не обрабатывает null, я чет сразу не втыкнул в это, тут ребята показали)
Ответить с цитированием