Зачем нужен JavaScript
Если обратиться к истории и посмотреть немного назад, то выяснится, что раньше веб сайты были статичными. Другими словами, они просто показывали страницу с заранее созданным контентом из текста и изображений, которая ни как не изменялась от действий пользователя. Вы могли щелкать по элементам, нажимать на картинки и ничего не происходило, страница ни как не изменялась. Только в случае нажатия на ссылку, вы переходили на другую страницу. Довольно скучно.
Сейчас ситуация кардинально другая, практически все сайты в той или иной степени динамические и реагируют на ваши действия на странице, могут подстраиваться под ваш компьютер или вообще быть полноценным веб-приложением. Одним из самых распространенных способов достижения данного результата является использование JavaScript на страницах сайта. Поскольку материал адресован обычным пользователям компьютера, а не программистам и веб-разработчикам, то и рассматривать его мы будем с этих позиций без углубления в технические детали.
Что делают Junior JavaScript программисты на работе. Типичные задачи Junior
Что такое JavaScript
JavaScript — это сценарный язык программирования, выполняемый непосредственно в браузере. Программы, написанные на нем, называют скриптами, и они интегрируются непосредственно в HTML страницу различными способами. Результат выполнения сценариев отображается на странице, вызывая какие то изменения на ней, а может и не отображаться, если это не предусмотрено. Чтобы было более понятно, давайте посмотрим это на конкретных примерах, зачем нужен JavaScript.
Во избежание недоразумений нужно запомнить, что JavaScript и Java это совершенно разные языки программирования и кроме схожего названия у них не так много между собой общего.
В мире есть большое количество самых разнообразных устройств, с которых можно просматривать сайты и у них всех разные размеры экранов. Скрипт присутствующий на страницах этого сайта, проверяет разрешение монитора и подстраивает ширину страницы под его разрешение. На некоторых страницах в тексте есть миниатюры изображений, если щелкнуть по ним мышкой, то всплывет полноразмерное изображение. Это делается с помощью скриптов, без них изображение будет загружаться в отдельном окне или вместо текущей страницы, что довольно неудобно.
Так же браузеры разных разработчиков или даже разные версии одного и того же браузера порой по-разному интерпретируют одну и ту же страницу и тогда можно с помощью JavaScript определить используемый обозреватель и на лету изменить код страницы, чтобы она отображалась корректно. Добавить новый комментарий или обновить их без перезагрузки всей страницы, так же делается с его помощью.
Зачем нужен JavaScript еще, например, для проверки форм на корректность заполнения без отправки данных на сервер, то есть вам сразу выводится сообщение, что поле заполнено неверно или например, что логин уже занят. Различные слайдеры, спойлеры, карусели тоже работают с помощью скриптов. Как и каждый язык программирования, он умеет выполнять математические операции, это в том числе используется в различных калькуляторах и конвертерах. Например, в онлайн-калькуляторе для пересчета единиц измерения информации, сервисе отображения сведений о компьютере, конвертере для перевода чисел в другие системы счисления. Вообще JavaScript довольно мощный язык, на котором можно создавать целые веб-приложения или например сделать игру.
Топ-5 причин учить JavaScript начинающему сейчас
Это реинкарнация древней увлекательной игры знакомой всем кто играл на компьютере в девяностые годы прошлого века. Немного видоизмененная и написанная на языке JavaScript. В старых браузерах может не работать. Цель игры закрасить 75% игрового поля. Если в строящуюся линию попадет шар, то она пропадает и вы теряете одну жизнь.
Начальная точка строительства линии подсвечивается красно-синей рамкой. Можно строить вертикальные или горизонтальные линии, изменяя ориентацию колесом мыши или нажатием на значки в углах игрового поля. Количество жизней, текущей уровень и оставшееся время показывается вверху, а процент закрашенной площади внизу поля. На каждом следующем уровне количество шаров увеличивается.
Технические подробности скриптового языка
Небольшое техническое пояснение для особо любознательных читателей. Скрипты на языке JavaScript выглядят как инструкции, написанные простым текстом, в соответствии с определенными правилами. Именно в таком виде, они и присутствуют на страницах и загружаются в браузер. Далее встроенный в обозреватель интерпретатор преобразует его в понятный компьютеру вид и получившийся код выполняется. Для наглядности, ниже дан простейший пример кода, вызывающий появление модального окна при загрузке страницы с определенным сообщением.
document.getElementById(‘showmodal’).onclick = function()
Первая и последняя строчки, просто указывают браузеру, что между ними находится код JavaScript. Между ними находится само тело скрипта. Вторая строчка сообщает браузеру, что нужно отслеживать событие клика по элементу с идентификатором «showmodal» и если оно случится, то выполнить действие написанное на третьей строчке.
Третья строка вызывает появление модального окна с текстом указанным в скобках. Вы можете нажать на слово показать , чтобы увидеть данное окно в действии.
Обычные программы для компьютеров хотя изначально тоже пишутся на каком то из языков программирования, когда полностью готовы, компилируются в машинный код и в таком виде уже устанавливаются в компьютер или распространяются (в linux бывают исходники для самостоятельной «сборки»), файл .exe блокнотом уже не открыть.
Как включить JavaScript в браузере
Собственного говоря ничего специально делать, не требуется. Во всех популярных современных браузерах, он встроен изначально и включен по умолчанию. Проблемы могут возникнуть, только если вы сами отключили его в настройках браузера или это вызвано вирусами и повреждением файлов. Здесь стоит упомянуть, что как и любой предмет или технологию его можно использоваться на благо или во зло.
Внедряя вредоносный скрипт на страницы сайты, злоумышленники могут потенциально навредить вашему компьютеру. Поэтому раньше порой рекомендовали отключать JavaScript в браузерах в целях безопасности. Эти времена давно прошли, с тех пор браузеры стали более жестко регламентировать выполняемые сценарии, ограничивая потенциально опасные операции. Так же на страже вашей безопасности стоят антивирусы и поисковые системы, блокирующие доступ к вредоносным сайтам.
Поэтому сейчас отключать JavaScript не имеет смысла и даже вредно, так как очень много сайтов, после этого перестанут корректно отображаться, пропадет часть их функциональности или вообще не смогут работать. Проблема усугубляется тем, что неопытный пользователь однажды случайно или намеренно нажав на пункт «Выключить JavaScript» в настройках обозревателя, напрочь об этом забывает. Зато через некоторое время замечает неладное в работе браузера. Связать одно с другим у начинающих пользователей часто не приходит в голову или это происходит после долгих мучений.
Осознав это, разработчики браузеров постарались убрать данную настройку подальше, чтобы простые пользователи случайно ее не нажали. Это абсолютно правильно, так как в современных условиях JavaScript должен быть всегда у всех включен и он включен примерно на 99% компьютеров. Его отключение по соображениям безопасности создает больше проблем чем пользы.
Это все равно, что ходить на работу через полгорода пешком, потому что механический транспорт потенциально опасен. Можно конечно, но крайне утомительно и не удобно, так и сегодняшний интернет с отключенным JavaScript скучен и уныл. К тому же есть много других способов заразить компьютер, лучше тогда его совсем не включать, чтобы защититься наверняка.
Управляем JavaScript в Google Chrome
Нажимаете на значок —> , выбираете «Настройки». В самом низу будет ссылка «Показать дополнительные настройки». В группе «Личные данные» нажать кнопку «Настройки контента». Появится окно в котором в разделе JavaScript выбирает нужный вам пункт и затем кнопку «Готово».
В Яндекс.браузере доступ к настройкам JavaScript осуществляется точно так же, за исключением небольших нюансов в названиях. Так кнопка «Настройки контента» здесь называется «Настройки содержимого».
Как включить или выключить JavaScript в Mozilla Firefox
В версии 22 и ниже, это можно было сделать через меню. Пункт «Инструменты» ⇒ «Настройки» на вкладке «Содержимое» ⇒ «Использовать JavaScript».
Затем разработчики браузера решили, что от этой настройки одни проблемы и в версии 23 и старше совсем убрали ее из графического интерфейса. Теперь нужно в адресной строке браузера набрать about:config , в появившемся окне с предупреждением нажать «Я обещаю, что буду осторожен!». В строке «Поиск» набрать javascript.enabled . Двойной щелчок по найденной строке или ПКМ и пункт «Переключить». Если в столбце «Значение» стоит «true» значит включен, если «false» то выключен. Настройки отличные от значения по умолчанию выделяются жирным шрифтом.
JavaScript в браузере Opera
Нажать значок и выбрать в меню пункт «Настройки» или воспользоваться комбинацией клавиш ALT + P . Выбираете в левой колонке пункт «Сайты» в правой части окна первым пунктом идет раздел настроек JavaScript. Отмечаете нужный вам вариант переключателем. «Разрешить выполнение JavaScript (рекомендовано)» чтобы включить или «Запретить выполнение JavaScript» чтобы выключить.
Включение JavaScript в браузере Internet Explorer
Чтобы добраться до настроек управлением JavaScript в Internet Explorer нужно щелкнуть по значку или по пункту меню «Сервис» и выбрать «Свойства браузера». Переходите на вкладку «Безопасность», где выбираете зону «Интернет» и затем нажимаете кнопку «Другой». Находите в списке блок «Сценарии» и отмечаете «Включить» или «Выключить» для «Активные сценарии».
Как включить JavaScript в Safari
Если у вас Safari для Windows, то выбираете в меню «Правка» ⇒ «Настройки» или нажимаете комбинацию Ctrl + Б . Выбираете вкладку «Безопасность» и снимаете или ставите галочку напротив «JavaScript». Также можно управлять JavaScript через пункт меню «Разработка». Если напротив пункта «Отключить JavaScript» стоит галочка, значит он выключен, в обратном случае включен.
Если у вас Mac OS, то настройка использования JavaScript в Safari слегка отличается. Нужно нажать в меню на «Safari» и выбрать пункт «Настройки» или нажать сочетание клавиш ⌘ + , . Дальше так же, как в версии для Windows.
Возможно вы уже обратили внимание, что в браузерах Хроме, Yandex, Опере можно не просто включить или отключить JavaScript, а управлять им более гибко. Можно задать соответствующие правила для отдельного сайта, то есть запретить выполнение JavaScript только на отдельных сайтах или наоборот, запретить на всех кроме некоторых. Для этого нужно настроить исключения, нажав на кнопку «Управление исключениями».
Разработчики Firefox считают, что он должен работать всегда, поэтому и настройку убрали из графического интерфейса. Задать правила выполнения JavaScript в Firefox для отдельного сайта штатными средствами нельзя. Правда, если вам очень нужно, то можно поставить какое-нибудь расширение, например «NoScript». Там можно создавать правила для отдельного сайта, а так же оно обещает защищать ваш компьютер от различных атак с помощью скриптов.
Проблема в том, что любой программой нужно уметь грамотно пользоваться и правильно настроить. Автоматический режим это конечно хорошо, но идеальных алгоритмов не существует и всегда есть вероятность пропустить опасный код или наоборот заблокировать безопасный. Тут появляется дилемма, как и с антивирусами, если «закрутишь гайки», то будут частые ложные срабатывания. Сделаешь слабые ограничения, так и безопасность падает. Решать в каждом конкретном случае самому быстро надоедает, к тому же все равно объективно оценить угрозу простой пользователь не в состоянии, а JavaScript используется на 99% сайтов в интернете.
Для чего используется JavaScript на сайтах вы теперь знаете. Как поступить в данной ситуации, каждый решает самостоятельно, но мое частное мнение, просто включить и не забивать себе голову, проблем от этого у меня еще никогда не было.
Поделиться понравившейся статьей:
Источник: beginpc.ru
Что такое JavaScript: назначение, особенности и сферы применения языка
Интерактивные элементы сайтов и мобильных приложений часто выполняются на языке JavaScript. Он хорошо интегрируется с кодом HTML/CSS, поддерживается основными браузерами и включен в них по умолчанию. Поэтому никаких вопросов с запуском веб-ресурсов не возникает, они работают без участия пользователя.
Давайте разберемся, что представляет собой JavaScript, какие задачи он решает и в каких сферах применяется.
Особенности JavaScript
Инструмент JavaScript (сокращенно JS) относится к языкам программирования высокого уровня с возможностью встраивания в другие приложения. Все типы функциональных модулей создаются в виде сценариев. По синтаксису он схож с языком Java, но общая у них только часть наименования. Платформа регулярно обновляется, код становится все более рациональным.
Особенности языка:
- JS изначально разрабатывался по принципу «пиши меньше – делай больше».
- Код поддерживает функциональные, императивные и событийно-ориентированные стили.
- Платформа распространяется бесплатно без лицензионных отчислений разработчикам.
Синтаксис JavaScript подходит не под все задачи. Это привело к появлению ряда искусственных языков, которые транспилируются (конвертируются) после запуска в браузере. Разработчики пишут код на понятном им языке, а платформа «на лету» преобразует его в JS. Примеры: CoffeeScript, Flow, Dart, TypeScript, Brython.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Области применения JavaScript
Овладеть основами JavaScript полезно всем, кто касается сферы разработки и продвижения сайтов. В составе любого ресурса есть хотя бы 3-4 скрипта – от счетчика Яндекс.Метрики до формы захвата контактов, виджетов социальных сетей или регистрации аккаунта. Популярность платформы имеет объяснение: язык безопасен, он не предоставляет низкоуровневый доступ к процессам сервера.
Скрипты JS используются в следующих направлениях:
- клиентская часть любых веб-приложений,
- интерактивные элементы интерфейсов на AJAX,
- механизм выдачи Push-уведомлений по модели Comet,
- программы, совместимые с Android, iOS, Windows Mobile,
- браузерные операционные системы типа WebOS,
- макросы для автоматизации рутинных офисных операций,
- приложения, запускаемые на серверах C, C++, Java, Go.
Отдельно стоит упомянуть пользовательские скрипты в браузерах. Ими реализуются такие фишки, как автоматическое заполнение форм, форматирование контента на странице, скрытие и отражение содержимого в зависимости от региона. Аналогичным образом пишутся расширения, плагины (виджеты) для популярных CMS вроде WordPress, MODX, 1С-Битрикс.
Какие операции способен выполнять JS
Использование скриптов JavaScript обусловлено желанием добавить функции, которых нет и не будет в HTML/CSS. Например, обработку ввода контактов (отправка на указанный email, выдача сообщений, автоматический обратный звонок). За счет мультипарадигменности язык JS способен выполнять разнотипные операции.
Примеры:
- Математическое вычисления. Скрипты заменяют калькуляторы для расчета стоимости и объема материалов, по результату выдаются определенные сообщения. Например, если на сайте представлены тесты, JS отображает описание, соответствующее набранным баллам.
- Обработка и валидация данных вHTML-формах. Вариантов использования множество – от определения, все ли поля заполнены, до проверки соответствия указанному формату (цифры, буквы, их сочетание). Такие скрипты способны работать без обращения к серверу.
- Взаимодействие с пользователем. Сюда относятся выпадающие меню, всплывающие окна и иные эффекты, воспроизводимые при появлении заданных условий. Например, когда был клик по «плюсику» или когда курсор вышел за пределы окна.
- Взаимодействие сHTML-элементами на странице. Типичный пример такой реализации – это конструктор лендингов. Мышью перетаскиваются блоки, по клику на левую/правую кнопку меняется шрифт, цвета и другие параметры.
- Графические эффекты, анимация. Сюда можно отнести передвигающиеся объекты вроде снежинок или таймера обратного отсчета. Также речь идет о плавной прокрутке страницы, появлении и сокрытии объектов, например, при активации слайдера в режиме «карусель».
Все перечисленные типы операций легко обнаружить на одной посадочной странице. Это указывает на востребованность языка JavaScript. Тем более на рынке сайтостроения все больше утверждаются разнообразные конструкторы – от визуальных редакторов для CMS до самостоятельных платформ, где никак не обойтись без скриптов JS.
Как работает JS-код на сайте
Пользователь любым своим действием на сайте вызывает событие, будь это прокрутка страницы, клик по пункту меню или перемещение курсора «внутри экрана». На этом и базируется применение скриптов, которые запросто «вкладываются» друг в друга, если некоторые события предполагают разную реакцию браузера.
Последовательность работы JS-скриптов:
- Пользователь совершил некоторое действие.
- Браузер зафиксировал совпадение неких условий.
- Запустился JavaScript-код, «привязанный» к событию.
- Страница обновилась полностью или частично.
Все, скрипт перестал работать до повтора действия или активации другого модуля. Реагирование на событие становится возможным, если программист внес в шаблон сайта (страницы) код JS-скрипта и поставил ссылку на него в нужном месте (команда onclick). Если этого не сделать, ничего не произойдет. Те же формы захвата контактов станут «обычными картинками».
Что не умеет делать JavaScript в браузере
Несмотря на универсальность, JS не способен заменить другие языки. И все это из-за стремления разработчиков к росту безопасности, а также предотвращению несанкционированного доступа к персональной и коммерческой информации. Такие моменты приходится учитывать кодеру, чтобы созданный ресурс не стал «сборником» ошибок.
Примеры ограничений:
- Чтение, запись, копирование, запуск произвольных файлов на локальном накопителе. Есть возможность разрешить загрузку определенных типов файлов на сервер, но не наоборот. В случае скачивания обычно обходятся без JS-скриптов.
- Все окна и вкладки в рамках даже одной страницы изолированы друг от друга. При открытии дополнительной формы напрямую из «первичной» придется писать отдельный код, чтобы они обменивались между собой введенными данными.
- Скрипты после запуска взаимодействуют только с сервером, откуда была открыта страница. Работать со сторонними сайтами и доменами допускается, но для этого понадобится явное разрешение.
Перечисленные ограничения нацелены на снижение риска запуска вредоносного кода, в том числе загруженного с «левого» адреса. Нужно учитывать, что они действуют только на стороне браузера (пользователя). При исполнении кода на сервере JS-скрипты имеют заметно больше прав. Чтобы компенсировать такое различие, на браузеры устанавливаются специальные расширения.
Источник: timeweb.com
Зачем учить JavaScript и где он пригодится
Аспирант Нетологии Максим Пименов рассказывает про JavaScript — невероятно популярный язык программирования, который учит сайты реагировать на поведение посетителей.
JavaScript — это лучший друг HTML и CSS. HTML задает разметку сайта, CSS отвечает за внешний вид, а JavaScript все это оживляет. С помощью кода на JavaScript программист определяет, как страница отреагирует на действия пользователя.
Сейчас JavaScript — единственный язык программирования для браузеров. Он работает под Windows, macOS, Linux и на мобильных платформах, то есть везде. Если не знаешь JavaScript, делать в программировании интерактивных сайтов нечего.
В 2009 году появился Node. js, который вывел JavaScript за пределы браузеров. Теперь его можно запустить хоть на стиральной машине. О том, что такое Node. js и зачем он нужен, мы уже писали, поэтому не буду рассказывать о нем подробно.
Без JavaScript делать в программировании интерактивных сайтов нечего
Максим Пименов
Профессия
Frontend-разработчик с нуля
Узнать больше
- Получите востребованную профессию frontend-разработчика
- Реализуйте жизнеспособные проекты уже во время обучения
- Соберите крутое портфолио для получения работы своей мечты
- Научитесь работать с HTML, CSS, JavaScript, JSX, XHR и AJAX, React, VirtualDOM, Flexbox, React Router
Как работает JavaScript
Любое действие пользователя на странице порождает событие. Программирование на JavaScript — это обработка событий. Вот как выглядит обычный сценарий:
Пользователь что-то сделал на странице
↓
В браузере сработало событие
↓
Запустился JavaScript-код, который назначен на событие
↓
JavaScript изменил что-то на странице.
Программист пишет обработчик только для тех событий, на которые стоит реагировать:
Пользователь кликнул мышью
↓
Сработало событие onclick
↓
Запустилась функция changePhoto
↓
В галерее сменилось фото
Пользователь нажал клавишу
↓
Сработало событие onkeydown
↓
Программист не назначил обработчик события
↓
Ничего не произошло
JavaScript — это, прежде всего, реакция на события
Чем хорош JavaScript
JavaScript полностью интегрирован с HTML, он способен как угодно менять веб-страницу. В ответ на событие программист может:
- на лету вставить в HTML-код любые теги;
- задать внешний вид элементов через класс и атрибуты HTML;
- переместить любой элемент;
- запросить у пользователя данные;
- отправить запрос на сервер (технология AJAX).
Это только то, что сразу пришло в голову. JavaScript может намного больше, в пределах своей страницы он Бог.
JavaScript — подходящий язык для изучения программирования. Он достаточно прост, но содержит все фундаментальные вещи: алгоритмы, объектно-ориентированную модель, структуры данных. Если традиционные языки для обучения — Pascal и Basic — несут мало практической пользы, то JavaScript — рабочая лошадка.
Начинать с JavaScript хорошо и потому, что синтаксически он похож на великий и ужасный язык С. Изучив JavaScript, получишь базовое представление обо всех «сиобразных» языках: С++, C#, Java, PHP. Они задают тренд в своих областях и весьма популярны, поэтому для новичка важно познакомиться с синтаксисом С.
Программа на JavaScript — это простой текст. Писать на JavaScript можно в любом текстовом редакторе.
В пределах своей страницы JavaScript — Бог
Ограничения
Классический JavaScript — это язык программирования для интернета, он бессилен за пределами браузера. С помощью JavaScript нельзя запустить программу на компьютере или записать файл в нужную папку.
Из-за правил безопасности браузеры ограничивают мощь JavaScript и за пределами «родной» страницы. Управлять вкладками можно при определенных условиях или же вовсе нельзя. Например, JavaScript может закрыть только ту вкладку, которую создал сам.
Год-два назад появились платформы Node.js и React Native, с ними на JavaScript пишут не только для браузера, но и для компьютеров со смартфонами. Это модные и трендовые технологии, но глобально JavaScript — язык программирования для интернета.
На JavaScript пишут для интернета и браузеров
Конкуренты
Сейчас в веб-программировании нет ничего, что способно пошатнуть позиции JavaScript. Язык настолько удачен, что нет причин изобретать что-то другое.
С чистым JavaScript конкурируют только надстройки над ним: CoffeeScript, TypeScript, Dart. Код надстроек порой компактнее, его легче читать и отлавливать ошибки, но перед выполнением он все равно преобразуется в JavaScript.
Главная сила JavaScript — вечная молодость. Он вышел 21 год назад, но не устарел, а развивался и развивается вслед за HTML.
Серьезных конкурентов у JavaScript нет
Что изучать до JavaScript
Можно приступать к JavaScript, вообще не имея представления о программировании. JavaScript — удачный выбор для первого языка, особенно если связываешь будущее с веб-разработкой. При этом любые знания в сфере программирования будет плюсом.
Если есть опыт HTML и CSS, совсем хорошо. Создание сайта логично начать со статичных страниц на HTML и CSS, а потом оживить их при помощи JavaScript. Плюс HTML и CSS дают базовое понимание того, как устроен интернет и работают сайты.
JavaScript — подходящий первый язык, если связываешь будущее с веб-разработкой
Куда развиваться JavaScript-программисту
Изучив основы JavaScript, можно копать так глубоко, как хочется.
Хорошо освоить библиотеки и фреймворки для JavaScript — наборы готовых классов с функциями. Некоторые из них настолько мощные, что полностью меняют сценарии программирования. Для JavaScript самые популярные фреймворки и библиотеки — React, jQuery и Angular2.
Кроме фреймворков полезно изучить надстройки над JavaScript: CoffeeScript, TypeScript и Dart. Одни надстройки сделают ваш код чище и компактнее, другие — строже.
Наконец, можно взяться за серверное программирование и Node.js. Это трендовая технология, которую используют BMW, Amazon, Apple и другие серьезные компании. Так вы расширите область своих знаний JavaScript за пределы управления веб-страницей.
Для JavaScript-программиста нет потолка развития
Хотите написать колонку для Нетологии? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии
Бесплатный курс
Источник: netology.ru
Знакомство с JavaScript. Подключение к странице
JavaScript (сокращённо JS) – это язык программирования , который изначально был придуман для браузера, чтобы придать страницам интерактивность и динамичность .
Программы написанные на JavaScript называются сценариями или скриптами . Добавление их на страницу выполняется через тег . При этом их можно как непосредственно вставлять на веб-страницу, так и размещать в отдельном файле. Каждый браузер имеет интерпретатор JavaScript, с помощью которого он выполняет этот код.
Потребность в создании языка программирования для веб-браузера возникла в 90-е годы. В это время на веб-страницах хотелось делать уже намного больше, чем просто выводить статичный контент.
Данный язык изначально был создан Бренданом Айком в 1995 году для браузера Netscape и назывался он Mocha. Но после ряда переименований он обрёл окончательное имя – JavaScript . В начале он имел очень маленькую функциональность и в основном использовался для добавления на страницу интерактивности. Но со временем язык стал развиваться и позволять делать всё больше и больше.
В 1996 году язык JavaScript был стандартизован компанией Ecma, которая занимается стандартизацией информационных и коммуникационных технологий. Сама спецификация была названа ECMAScript или сокращённо ES. По сути, JavaScript является реализацией спецификации ECMAScript. Новые версии ECMAScript выходят ежегодно и добавляют в язык новые возможности.
- ECMAScript 1 – июнь 1997;
- ECMAScript 2 – июнь 1998;
- ECMAScript 3 – декабрь 1999;
- ECMAScript 5 – декабрь 2009;
- ECMAScript 5.1 – июнь 2011;
- ECMAScript 2015 (ES2015, ECMAScript 6, ES6) – июнь 2015;
- ECMAScript 2016 (ES2016, ECMAScript 7, ES7) – июнь 2016;
- ECMAScript 2017 (ES2017, ECMAScript 8, ES8) – июнь 2017;
- ECMAScript 2018 (ES2018, ECMAScript 9, ES9) – июнь 2018;
- ECMAScript 2019 (ES2019, ECMAScript 10, ES10) – июнь 2019;
- ECMAScript 2020 (ES2020, ECMAScript 11, ES11) – июнь 2020;
- ECMAScript 2021 (ES2021, ECMAScript 12, ES12) – июнь 2021.
ECMAScript – это стандарт JavaScript, который описывает полностью все функции JavaScript. Браузеры, Node.js применяют это стандарт и реализуют его поддержку.
Начиная с версии ES6 язык значительно преобразился, в нём появился новый синтаксис для написания сложных приложений (классы, модули, итераторы, циклы, генераторы в стиле Python, стрелочные функции, ключевые слова let , const и многое другое). С выходом версии ES6 весь код JavaScript принято делить на modern (современный) и классический (до ES6) .
В настоящее время JavaScript применяется не только в веб-браузере. С помощью него можно писать десктопные и мобильные приложения, использовать его на сервере (Node.js).
Язык JavaScript, как и другие языки программирования, имеет некоторые свои особенности. Среди основных – слабая типизация и динамическое приведение типов .
JavaScript – это не Java , хоть он и унаследовал некоторые синтаксические конструкции этого языка. Такое название данный язык получил в силу некоторых исторических причин. Одной из них являлось то, что изначально в качестве языка, который должен был быть доступным в браузере, хотели сделать Java . Но впоследствии компания Netscape отказалась от этой мысли, из-за того, что Java был слишком большим и сложным.
Виды браузеров и браузерных движков
В настоящее время существует большое количество браузеров . Любой современный браузер основывается на движке . Движок – это часть браузера, которая преобразует HTML, CSS, JavaScript, изображения и другую информацию в интерактивную картинку .
Основные современные движки и браузеры, которые их используют:
- Blink (Google Chrome, Opera, Яндекс.Браузер и др.);
- Gecko (Mozilla Firefox, Waterfox и др);
- WebKit (Safari, Maxthon, Vivaldi и др.);
- EdgeHTML (Microsoft Edge).
Подключение JavaScript к странице
Добавление JavaScript на страницу выполняется с помощью тега .
Первый способ – это вставка кода непосредственно на страницу . Выполняется это между открывающим и закрывающим тегом .
alert(‘Привет, мир!’);
Второй способ заключается в использовании отдельного файла с расширением js . В данный файл необходимо поместить код JavaScript, а затем подключить его к странице с помощью . Путь к файлу задаётся с помощью атрибута src .
С помощью этого способа можно подключить JavaScript к большому количеству HTML страниц. Это позволяет при изменении кода не править его на каждой странице.
можно поместить внутрь любого элемента, но рекомендуется непосредственно в или :
Знакомство с JavaScript. Подключение к странице —> . —>
Если подключить скрипт с помощью атрибута src и дополнительно ещё указать некоторый код между открывающим и закрывающим тегом script , то код, который вы указали непосредственно, будет проигнорирован, т.е. он не выполнится.
alert(‘Это предупреждение никогда не отобразится!’);
Как выполняются скрипты на странице?
Когда браузер читает страницу и встречает на ней script , он останавливает дальнейшую загрузку страницы и выполняет, подключенный с помощью этого элемента JavaScript. После чего приступает к дальнейшей загрузке страницы:
Знакомство с JavaScript. Подключение к странице —> document.write(‘HEAD: Hello, world!’); alert(‘HEAD: Hello, world!’);
Introduction to JavaScript
document.write(‘BODY: Hello, world!’);
В этом примере используются 2 метода:
- alert() – для вывода на экран предупреждения с кнопкой «ОК»; данное предупреждение приостанавливает дальнейшую загрузку страницу;
- document.write() – для вывода текста в текущее место HTML, если страница ещё не загрузилась.
При загрузке этого документа, когда браузер встретит alert() , он выведет на экран предупреждение «HEAD: Hello, world!». Кроме этого, он приостановит дальнейшую загрузку страницы , пока пользователь не нажмёт на кнопку «ОК».
На этом этапе загрузки страницы:
После нажатия на кнопку «ОК» браузер продолжит загрузку страницы. Он выполнит метод document.write() , который выведет значение, указанное в скобках сразу после открывающего тега . Затем тег и в завершении выполнит метод document.write() , который выведет текст «BODY: Hello, world!».
async и defer
До появления этих атрибутов у нас не было возможности загружать JavaScript в фоне. Поэтому многие сайты, в которых JavaScript не использовался для формирования первоначальной структуры страницы, подключали его в самом конце, т.е. перед закрывающим тегом . В основном это использовалось для того, чтобы пользователь мог как можно быстрее увидеть страницу и начать с ней взаимодействовать. А так как такой код взаимодействует с уже загруженной страницей, его в принципе и вставлять выше не имеет смысла.
async – атрибут для , который используется для того, чтобы указать браузеру на то, что этот скрипт необходимо загрузить асинхронно, т.е. не останавливая основной поток чтения страницы. После загрузка скрипта, браузер сразу же его выполнит.
defer – это ещё один атрибут для , похожий на async . Он также указывает, что скрипт необходимо загрузить в фоне. Но в отличие от async , он будет выполнен после загрузки страницы, а точнее DOM. Кроме этого, стоит отметить, что скрипты, заданные с атрибутом async , выполняются перед вызовом события DOMContentLoaded .
Ещё одно отличие defer от async в том, что defer сохраняет очередность их выполнения:
Т.е. вне зависимости от того какой скрипт загрузится быстрее, они всё равно будут выполнены браузером в том порядке, в котором они расположены в коде. В данном примере, сначала выполнится «script-1.js», а затем «script-2.js» даже если второй загрузится быстрее, чем первый.
Если для одновременно указать два атрибута, т.е. сразу async и defer , то будет работать только async .
Атрибуты async и defer можно использовать только для скриптов, подключаемых на страницу с использованием src .
Источник: itchief.ru