Подключение и выполнение JavaScript кода в браузере. Базовый синтаксис языка
В данном курсе код JavaScript будет запускаться в среде браузера, поэтому для дальнейшей разработки необходимо иметь базовое представление о структуре веб-страницы. Типичная веб-страница представляет собой текстовый файл в формате HTML (HyperText Markup Language) — язык разметки, который используется для формирования структуры веб-страниц. Любой документ на языке HTML представляет собой набор элементов, причём начало и конец каждого элемента обозначается специальными пометками — тегами. Кроме того, элементы могут иметь атрибуты, определяющие какие-либо их свойства (например, размер шрифта для тега ). Атрибуты указываются в открывающем теге. Вот примеры фрагментов HTML-документа:
Текст между двумя тегами — открывающим и закрывающим. href="http://www.example.com">Здесь элемент содержит атрибут href, то есть гиперссылку. А вот пример пустого элемента: . Это тег переноса строки и поэтому у него нет ни содержания, ни закрывающего тега.
Разметка HTML позволяет располагать контент страницы в необходимом вам порядке. Базовый шаблон HTML страницы выглядит так
charset="utf-8"> Заголовок Страницы Само содержание страницы
Чтобы придать стиль отображения содержимому страницы, например, изменить цвет фона или размер шрифта, используется язык стилей CSS (Cascading Style Sheets, или каскадные таблицы стилей). Этот язык тоже имеет свой собственный синтаксис. Подробнее о HTML можно прочитать здесь, а о CSS — здесь. А JavaScript, в свою очередь, находит в браузерах широкое применение как язык сценариев для придания интерактивности веб-страницам.
Добавление JavaScript на страницу и запуск в браузере
Так как это курс сфокусирован на изучении самого языка JavaScript, понимание его основных концепций и тонкостей разработки на нём, то в рамках данного курса будет достаточно понимания того, каким образом можно добавить код JavaScript на HTML страницу, для дальнейшего его выполнения при запуске этой страницы в браузере. Код JavaScript можно встроить на HTML страницу с помощью тега , например
charset="utf-8"> Заголовок Страницы Само содержание страницы alert( "Код JavaScript запустился!" );
В данном случае тег содержит сам исполняемый код. Когда браузер доходит на странице до этого тега, он его не отображает, а выполняет. В данном коде вызывается встроенный в браузер метод alert(«Сообщение») , который отображает на странице модальное окно с указанным сообщением.
Чаще всего, программа JavaScript, которую необходимо выполнить на странице, содержит в себе много кода. Поэтому вместе того, чтобы добавлять его напрямую на HTML страницу, его выносят в отдельный файл с расширением .js и отдельно подключают к странице следующим образом:
charset="utf-8"> Заголовок Страницы Само содержание страницы src="/path/script.js">
В данном случае подключение происходит тоже с помощью тега , только в этом случае, вместо вставки в него кода, к нему добавляется атрибут src в котором прописывается путь к файлу JavaScript. Этот путь может быть как абсолютным, так и относительным к текущей странице. Когда браузер дойдет до этого тега, то сначала он загрузит этот файл, а потом выполнит. Исходники страниц с встроенным и внешним скриптом можно скачать по этой ссылке и потом запустить соответствующие HTML-страницы в браузере.
Базовый синтаксис JavaScript
Как и у других языков программирования, у JavaScript есть свой синтаксис. Исходный код скриптов сканируется слева направо и преобразуется в последовательность найденных элементов, которые несут в себе определенный смысл для языка JavaScript, например, ключевые слова ( if , else , while , return и прочие), литералы ( true , false , null и т.д.), пробелы, окончания строк или комментарии. А также JavaScript чувствителен к регистру и использует кодировку символов Unicode.
Каждая программа — это набор команд. В JavaScript команды разделяются точкой с запятой ( ; ). Если в коде после той или иной инструкции не стоит точка с запятой, то во время разбора кода, они будут расставляться автоматически, что может привести к некоторым ошибкам или неочевидной работе программы.
Чтобы упросить чтение и понимание кода используются комментарии. С их помощью можно добавлять подсказки, заметки, предложения или предупреждения. Для оформления однострочных комментариев используются // , многострочные и внутристрочные комментарии начинаются с /* и заканчиваются */ .
// Это однострочный комментарий alert("Привет!"); /* Этот комментарий располагается на нескольких линиях. Обратите внимание, что вам не нужно обрывать комментарий, пока вы его не закончите*/ alert("Пока!"); /*Такой комментарий тоже может быть однострочным*/
При этом нельзя вкладывать друг в друга комментарии, это приведет к синтаксической ошибке
/* Нельзя вкладывать /* комментарии */ друг в друга */ > Uncaught SyntaxError: Unexpected identifier
Дата изменения: February 26, 2023
Поделиться
Обнаружили ошибку или хотите добавить что-то своё в документацию? Отредактируйте эту страницу на GitHub!
Как писать код прямо в браузере
Понятное дело, что любое браузерное решение — это лишь костыли по сравнению с полноценным приложением. Однако это сильно вас выручит, если вам, к примеру, в голову пришла идея, которую нужно срочно проверить, а вы уехали к родителям уминать куличи, забыв дома свой ноутбук.
VSCode — веб-версия одноимённого приложения от Microsoft, которая имеет почти тот же функционал. Вы можете свободно загружать свои файлы с кодом, пользоваться разными интерпретаторами, дебагом и другими инструментами, которые пригодятся при разработке.
Это отличное решение для программистов средней руки: новичку будет довольно сложно пользоваться браузерным решением, а профессионалу оно, скорее всего не понадобится, но иметь такой запасной вариант будет полезно.
JavaScript в браузере — JS: DOM API
В этом уроке мы изучим . Это тег, с помощью которого мы связываем JavaScript с веб-страницами одним из двух способов:
- Инлайн-скриптинг
- Внешний скриптинг
Инлайн-скрипты
Слово inline означает, что мы размещаем JavaScript прямо внутри HTML. Этот метод подходит для базовых сценариев с небольшим количеством кода:
const greeting = 'hello, world!'; // Он выводит приветствие на экран в модальном окне браузера alert(greeting); // На странице может быть любое количество этих тегов
В примере используется функция alert() . Она выводит на экран модальное окно с указанным текстом. В реальном коде alert() почти не используется, но ее иногда используют для обучения. Нажмите сюда , чтобы увидеть результат выполнения этой функции.
Чаще всего, таким способом подключаются скрипты внешних сервисов, например, систем аналитик . Выглядит это так:
// Код минифицирован, чтобы занимать как можно меньше места // Это ускоряет загрузку (function(i,s,o,g,r,a,m)i['GoogleAnalyticsObject']=r;i[r]=i[r]||function() (i[r].q=i[r].q||[]).push(arguments)>,i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) >)(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-XXXXX-Y', 'auto'); ga('send', 'pageview');
Если вы откроете исходный код этой страницы, то увидите множество тегов с аналогичными вставками внутри HTML. Большинство этих вставок находится ближе к началу HTML, поскольку для аналитических систем важно загружать их как можно раньше, чтобы отслеживать действия пользователя.
Внешние скрипты
Во фронтенд-приложениях инлайн-скриптинг не используется. Весь код грузится через подключаемые файлы. Загружаются внешние скрипты следующим образом:
src="/assets/application.js"> src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/core.js">
Обычно такой javascript-код проходит предварительную обработку системами сборки, например Webpack. Они оптимизируют код для браузеров, делают его меньше, удаляют ненужное и разбивают на файлы для ускорения загрузки. Подробнее об этом тут.
Порядок выполнения
По умолчанию тег выполняется в том порядке, в котором он появляется в HTML. Это работает одинаково независимо от того, работаем ли мы с внешним файлом или инлайн-скриптом. Поэтому местоположение имеет большое значение. Чем дальше мы разместим скрипт, тем быстрее пользователь увидит страницу на экране. Оптимально, все скрипты должны находиться непосредственно перед