среда, 29 августа 2007 г.

javascript.options.strict в Firefox

Дин Эдвардс написал о странных тормозах у некоторых пользователей, открывающих его сайт в Firefox, что лечилось отключением Firebug.
Причина была в установке опции javascript.options.strict в конфигурации Firefox (about:config).

Если эта опция включена, Firefox кроме серьезных ошибок в скриптах будет сообщать о возможных ошибках. Если при этом в консоли Firebug включена опция Show JavaScript Warnings, то эти сообщения вываливаются в консоль, что и порождает описанные тормоза.

Но речь не о тормозах, как вы понимаете. Эти возможные ошибки, как показывает практика, часто не просто возможны, а просто наиболее вероятны, типа присваивания значения неопределенной переменной (забыли var), что порождает как засорение глобальной области видимости, так и непредусмотренные побочные эффекты, или переопределения аргумента внутри функции (перестарались с var), или путаницы = и == при сравнении.

В-общем, отключайте эти опции если вы просто ходите по вебу, но обязательно включайте их при тестировании собственных скриптов. Можете увидеть много интересного.

1 комментарий:

  1. аха..
    на счет того, что тормоза лечатся отключением ФайрБага знал, но что дело в настройках -- не знал, спасибо.

    но, что характерно, включив Show JavaScript Warnings и зайдя на проблемную страницу увидел только тормоза и не одного предупреждения..

    ну и есть же еще исторические баги с "залипанием" скриптов jQuery при включеном файрбаге (бывает и с прототайпом то же самое), которые (залипания) случаются непредсказуемо редко, и, зачастую, на тех страницах, где кроме инклюда библиотеки никакого JS-кода вообще нет.

    ОтветитьУдалить

Постоянные читатели