Показать сообщение отдельно
  #29 (permalink)  
Старый 21.05.2015, 11:28
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

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

И кстати, не просто typeof null == 'object', а typeof null === 'object'. Просто лично я не использую сравнение со строкой из-за паранойи... а вдруг в каком-нибудь тупом браузере будет не 'object', а 'Object' или 'OBJECT'... Тогда и проверка без учета типа провалится... Но это скорее всего именно паранойя... дождемся Спартанца из десятки))))
Ответить с цитированием