Отладка JavaScript с помощью настоящего отладчика
Новый отладчик JavaScript , встроенный в Firefox , поможет писать код быстро и без ошибок. В последней версии отладчика Firefox мы откроем простое приложение, а затем запустим debugger.html , использовав клавиатурную комбинацию Option + Cmd + S на Mac или Shift + Ctrl + S в Windows . Отладчик разделён на три панели: панель списка файлов, панель исходного кода и панель инструментов.

Панель инструментов разделена на кнопки для вызова инструментов, выражения для отслеживания, точки остановки, стек вызовов и области.

Перестаньте использовать console.log
В этом примере мы используем debugger.html , чтобы отладить приложение по шагам и найти значение переменной.
Мы можем использовать debugger.html , чтобы заглянуть в исходный код приложения, просто добавив breakpoints . Эти точки говорят отладчику остановить выполнение программы на указанной строке. В этом примере мы добавим breakpoints на строке 13 файла app.js .
Теперь добавьте задачу в список. Код остановится в функции addTodo , и мы сможем залезть в исходный код, чтобы посмотреть введённое значение и многое другое. Наведите курсор на переменную, чтобы увидеть её значение и другие свойства. Вы сможете посмотреть свойства anchors , applets , дочерние элементы и так далее.

Вы также сможете посмотреть всю эту информацию в панели « Области ».
Теперь, когда выполнение скрипта приостановлено, его можно выполнить по шагам, используя кнопки в панели инструментов. Назначение кнопки « Возобновить/Пауза » очевидно. » Перешагнуть через » перешагивает через текущую строку кода, » Зайти в » заходит в вызываемую функцию, а » Выйти из » выполняет скрипт до выхода из текущей функции.

Также можно использовать выражения для отслеживания, чтобы следить за значением переменной. Введите выражение в поле » Выражения для отслеживания «, и отладчик будет следить за ним по мере того, как вы выполняете код по шагам. В примере, приведенном выше, можно добавить выражения » title » и » to-do «, и отладчик выдаст их значения, когда они станут доступны. Это особенно полезно в следующих случаях:
- Когда выполняете код по шагам и следите за изменением значений;
- Отлаживаете один и тот же кусок исходного кода несколько раз и хотите оценить одни и те же выражения;
Вы также можете использовать debugger.html , чтобы отладить приложения React/Redux . Вот как это работает:
- Найдите компонент, который вы хотите отладить.
- Посмотрите на общий вид компонента ( функции в классе ).
- Добавьте breakpoints в соответствующие функции.
- Остановите выполнение и посмотрите на статус и свойства компонента.
- Стек вызовов упрощён, поэтому вы сможете увидеть код о приложения, чередующийся с кодом фреймворка.
Также debugger.html позволяет увидеть скрытый или сжатый код, который может вызывать ошибки. Это полезно, когда вы имеете дело с популярными фреймворками, вроде React/Redux . Отладчик знает про компоненты, на которых вы остановили выполнение кода, и покажет упрощённый стек вызовов, компонент и свойства.
Инструменты разработчика с открытым исходным кодом
Проект debugger.html был запущен около двух лет назад одновременно с полной переработкой инструментов разработчика, встроенных в Firefox . Мы хотели перестроить инструменты разработчика, используя современные веб-технологии.
JavaScript необходим для любого продвинутого веб-приложения, поэтому надёжный отладчик – ключевая часть набора инструментов для разработчиков.
Мы хотели создать быстрый, легкий в использовании и адаптируемый отладчик. Мы решили использовать популярные веб-технологии, чтобы работать в тесной взаимосвязи с сообществом разработчиков.
debugger.html построен при помощи React , Redux и Babel . Компоненты React легковесные, тестируемые и легкие в разработке. Мы используем React Storybook для быстрого прототипирования пользовательского интерфейса и документирования общих компонентов.
Наши компоненты протестированы с помощью Jest и Enzyme , что упрощает итерации обновления пользовательского интерфейса. Это упрощает работу с различными JavaScript-фреймворками .
front-end код на Babel позволяет отображать класс компонента и его функции в левой панели. А также фиксировать breakpoints к функциям так, чтобы они не перемещались, когда вы изменяете исходный код.
Действия Redux – это чистый API для пользовательского интерфейса, но они также могут быть использованы для создания отдельного отладчика CLI JS . В хранилище Redux есть селекторы для выбора текущего состояния отладки.
Модульное тестирование вызывает действия Redux и симулирует ответы браузера. Интеграционные тесты отладчика управляют браузером с отладчиком действий Redux . Функциональная архитектура сама по себе разработана так, чтобы быть тестируемой.
Мы полагались на сообщество разработчиков Mozilla на каждом этапе. Проект был размещён на GitHub , и наша команда связывалась с разработчиками по всему миру, чтобы получить их поддержку.
Когда мы начинали, автоматизированное тестирование было критически важным компонентом для разработки в сообществе. Тесты предотвращали регрессию и документировали поведение, которое легко можно было пропустить. Поэтому одним из шагов, которые мы предприняли, было добавление модульного тестирования действий в Redux и типов Flow для хранилища Redux . Сообщество помогло нам удостовериться, что тесты во Flow и Jest гарантировали, что все файлы задокументированы и протестированы.
Как разработчики, мы верим, что инструменты тем надёжнее, чем больше людей включилось в процесс их создания. Наша основная команда всегда была маленькой ( 2 человека ). Но в среднем в нашей работе принимало участие 15 разработчиков в неделю. Сообщество вносит разнообразие во взглядах, что помогает справляться с возникающими трудностями и создавать функционал, о котором мы и не мечтали. Теперь мы формируем стек вызовов для 24 различных библиотек. Мы также показываем карту привязок в WebPack и Angular в дереве исходного кода.
Мы планируем переместить все инструменты разработчика Firefox на GitHub , чтобы они могли быть использованы и улучшены широкой аудиторией.
Мы будем рады вашему участию. Зайдите на страницу проекта debugger.html на GitHub , чтобы начать. Мы создали подробные инструкции, чтобы помочь запустить отладчик на вашем компьютере. Используйте его, чтобы выполнять отладку JavaScript-кода для чего угодно: браузеров, терминалов, серверов, смартфонов, роботов. И, если вы видите, как его можно улучшить, дайте нам знать через GitHub .
Вы можете загрузить текущую версию Firefox (и инструментов разработчика) здесь .
Дайте знать, что вы думаете по данной теме в комментариях. Мы очень благодарим вас за ваши комментарии, лайки, отклики, дизлайки, подписки!
Пожалуйста, опубликуйте свои мнения по текущей теме статьи. За комментарии, дизлайки, отклики, лайки, подписки огромное вам спасибо!
Сергей Бензенко автор-переводчик статьи « Debugging JavaScript With A Real Debugger You Did Not Know You Already Have »
Что такое JavaScript и для чего он нужен
В этой статье мы расскажем, что такое JavaScript (Джава Скрипт), приведём примеры, поясним для чего он нужен в html коде. Дадим ответы на популярные вопросы вебмастеров.
1. Что такое JavaScript простыми словами
JavaScript является объектно-ориентированным и интерпретируемым языком. Также он системно-независим (работает на любых платформах). Зачастую JS код называют «скриптами». Можно сказать, что этот язык «заточен» лишь для веб-программирования.
Синтаксис языка во многом напоминает Си и Java, семантически же язык гораздо ближе к Self, Smalltalk.
2. Задачи решаемые JavaScript
- Проверку полей html форм (тег <form>) до того, как они передались на сервер;
- Информационные сообщения с предупреждениями;
- Эффекты для выделения главных элементов и частей страницы;
- Оригинальные выпадающие меню;
- Математические вычисления;
Обычно с помощью JavaScript делают слайдеры. Можно также выводить контент через AJAX, это позволяет скрывать из html-кода ненужные или повторящиеся элементы страницы сайта. Изучать эти коды новичку не имеет смысла, т.к. они довольно сложные.
3. Как включить поддержку JavaScript в браузере
Все браузеры по умолчанию поддерживают JavaScript. Джава Скрипт уже включен в браузерах, если нет, то ниже представлены инструкции для различных браузерах по включению JS.
1. Как включить JavaScript в Firefox
Зайдите в «Инструменты», далее в «Настройки». Затем выберите вкладку «Содержимое» и поставьте галочку напротив надписи «Использовать JavaScript».
2. Как включить JavaScript в Google Chrome
«Настройка и управление Google Chrome» -> «Параметры» -> «Расширенные» -> «Личные данные (Настройки содержания)» -> «JavaScript:» Разрешить всем сайтам использовать JavaScript (рекомендуется) или запретить выполнение JavaScript на всех сайтах
3. Как включить JavaScript в Opera
Нажать на клавишу F12 Выбрать пункт «Включить JavaScript»
4. Как включить JavaScript в Internet Explorer
«Сервис» -> «Свойства обозревателя» -> вкладка «Безопасность» -> выбираем зону «Интернет» -> кнопка «Другой» -> пункт «Сценарии» -> «Разрешить сценарии»
4. Пример: как вставить JavaScript в html страницу
Код JavaScript вписывается прямо в html код страницы. Для его выделения используют специальные теги:
Атрибут type=’text/javascript’ указывать не обязательно, но желательно.
Использовать <script></script> можно в заголовочных тегах <head>, так и просто в теле страницы <body> .
Писать html теги между открывающим и закрывающим тегом script запрещено. Это место только для кода на JavaScript.
Чтобы не дублировать один и тот же JavaScript на каждой странице его обычно выносят в отдельный файл с расширением «.js». Этот файл можно подключить в любом месте кода html.
4.1. Пример 1. Всплывающие сообщение Hello, World на JavaScript
Ниже представлен пример html код, который при загрузке страницы с помощью JavaScript выводит всплывающее сообщение «Hello, World».
При нажатие на ссылку будет выведена форма с просьбой подтвердить переход по ссылке.
4.2. Пример 2. Альтернатива с обработкой javascript
Ниже представлен пример html кода с обработкой кода JavaScript с помощью идентификатора id.
4.3. Пример 3. Смена цвета объекта при наведении курсора
При наведении курсора мышки на определенные области, они изменяют цвет. Делается это через JavaScript. Например:
Код этого примера:
Это лишь самые элементарные вещи на JavaScript. Его возможности довольно большие. Не даром в литературных магазинах по этому языку можно найти отдельные книги.
Отладка JavaScript в Firefox с помощью Debugger. Подробная инструкция
![]()
А вы знали, что в новую версию Firefox встроен обалденный отладчик Debugger для языка JavaScript. Данный отладчик был встроен в «Лису» в новую версию браузера Quantum. На тот момент разработчики решили кардинально пересмотреть инструментарий для разработки в своем продукте, чтобы он соответствовал современным технологическим требованиям к веб- разработке .
Ведь , как мы знаем, любое современное, продвинутое приложение так или иначе содержит код JavaScript, поэтому отличный отладчик в Firefox — это как раз то, что надо.
Отладчик Debugger в Firefox
Сам Деб а ггер разработан с использованием технологий React, Redux и Babel. Именно поэтому получился надежный, шустрый, адаптивный и легкий отладчик. Плюс, использование популярных технологий позволило войти в более тесный контакт с сообществом современных разработчиков. Все на одной волне.
Любой компонент React — легко весный, легко тестируемый и прост в разработке. В Debugger применяется React Storybook, поэтому удалось достичь скоростного использования интерфейса пользователя и документирования используемых компонентов.
Весь «Front» написан с использованием Babel. Поэтому есть возможность в левой панели выводить функции и класс компонентов отладки. И технология построена так, чтобы не было перемещений функций, когда вы будете изменять исходный код.
Redux используется для взаимодействия с API интерфейса пользователя, но также может использоваться при создании дополнительного отладчика для CLI JS. Наличие специальных селекторов в Redux позволяет в любой момент просмотреть текущее состояние отладки.
Сам проект Debugger-отладчик в Firefox был выложен в открытый доступ на GitHub. Это позволило программистам со всего мира участвовать и давать обратную связь о разработке отладчика. Это дало возможность добиться колоссального результата, потому что продукт был протестирован теми, для кого он создавался еще на стадии разработки. Поэтому в нем в процессе создания добавился дополнительный функционал, который не планировался изначально , т ак как в процессе общей «работы» над отладчиком программисты предоставляли качественную обратную связь о возникающих трудностях в отладке кода и о желаемых функциях Debugger.
Поэтому продукт получился качественным. А команда разработчиков Firefox и дальше планирует работать в такой же системе — открыто на ГитХабе, чтобы инструменты браузера смогли улучшаться его же пользователями самостоятельно.
Отладка JavaScript в Firefox при помощи Debugger
- открыть приложение для отладки;
- запустить debugger.html.
- блок со списком файлов слева;
- блок с самим кодом приложения в центре;
- панель с инструментами справа.
- toolbar;
- использование выражений для отслеживания;
- точку останова;
- стэк вызовов;
- возможности применения.
- пошагово выполнять код и следить за тем, как изменяется выбранное значение;
- отслеживать один « кусок » программы несколько раз, чтобы отследить общее изменение значений;
- просто понять, как так случилось, что не функционирует ваша кнопка.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.