Показать сообщение отдельно
  #2 (permalink)  
Старый 23.10.2009, 14:18
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Зачем вообще на toString надеяться? В таких случаях разработчики туда все что угодно имеют право запихать, так же как они имеют право писать любые удобные для них комментарии к своему коду. Стандарты здесь никак не ограничивают и как вообще они могут ставить здесь какие-то ограничения. И js-разработчики не должны строить свой код на результате toString (по крайней мере, вызываемого у Function, Object и т. д.) . К сожалению многие уже настолько привыкли к тому, что он в таких случаях одно и то же возвращает, что уже браузер на основе этого определяют:
var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]';

Это на мой взгляд совсем не верно, в любой следующей версии '[object Opera]' может поменяться на все что угодно. И вообще молодцы что так делают, надо отучать от плохих привычек.
Ответить с цитированием