Основы JavaScript. Урок 1. Введение в JavaScript. Что такое JavaScript.
JavaScript - сценарный язык программирования, предоставляющий доступ к объектам приложений. Наиболее популярен среди web-разработчиков, т. к. позволяет добавить html-странице интерактивности (взаимодействия с пользователем).
В данном уроке мы затронем следующие темы:
- История языка;
- Каковы тенденции его развития;
- Что он собой представляет;
- Чем отличается от Java;
- Возможности и ограничения JavaScript;
- Взаимодействие JavaScript с браузерами;
- Ваш первый сценарий на JavaScript.
История развития JavaScript: от предпосылок до тенденций
1992 г. - первые отсылки к JavaScript. Именно тогда перед компанией Nombas была поставлена задача: разработать встраиваемый скриптовый язык, который впоследствии смог бы стать достойной альтернативой макросам. Для этого он должен был поддерживать стандартные операторы и функции «Си», и при этом перевести управление памятью в автоматический режим. Получившемуся продукту было дано название «Cmm» (Си минус минус), на смену которому (в виду его негативного звучания) довольно быстро пришло «ScriptEase».
Апрель 1995 г. – начата работа над концепцией и внедрением в фирменный браузер Netscape языка, который давал бы возможность программировать как со стороны сервера, так и со стороны клиента, мог бы «склеить» составляющие части web-ресурса и был бы доступен даже для разработчиков, обладающих достаточно посредственной квалификацией. Первоначальное название «Mocha» впоследствии было заменено на «LiveScript».
Ноябрь 1995 г. – на основе «ScriptEase» создается внедряемый в web-страницы проприетарный (для коммерческого использования) продукт «CEnvil». Страницы, доступные для редактирования при помощи скриптового языка, стали называться «Espresso Pages» и демонстрировали последствия внедрения в браузер языка «ScriptEase».
Декабрь 1995 г. – для повышения интереса к проекту принимается решение переименовать «LiveScript» в «JavaScript», созвучное с весьма популярным на тот момент языком «Java».
Июль 1996 г. – «Microsoft» анонсирует (а затем и выпускает) аналог «JavaScript» – «JScript»
Декабрь 1996 г. - ассоциация ECMA (по инициативе Netscape) проводит стандартизацию языка JavaScript. Стандартизированная версия описывается при помощи стандарта «ECMA-262» и получает название «ECMAScript».
Последующие изменения JavaScript будет целесообразно представить в виде таблицы:
Дата |
Версия JavaScript |
Ключевые изменения |
Июнь 1997 г. |
1.2 |
Внедрен переключатель «switch» |
Октябрь 1998 г. |
1.3 |
Достигнута совместимость с 1-ой редакцией ECMA-262. |
Март 1999 г. |
1.4 |
Разработана исключительно для продуктов Netscape |
Ноябрь 2000 г. |
1.5 |
Достигнута совместимость с 3-ей редакцией ECMA-262. |
Ноябрь 2005 г. |
1.6 |
Внедрено нескольких дополнений для Array, упрощений Sting, E4X и других улучшений. |
Осень 2006 г. |
1.7 |
Добавлены списочные выражения и генераторы из Python и блоковые области. |
Осень 2008 г. |
1.8 |
Добавлены новые методы обработки массивов, пара генераторов и новая форма записи для функций |
Декабрь 2009 г. |
1.8.1 |
Добавлена встроенная поддержка JSON |
|
2.0 |
Ведется разработка |
По состоянию на апрель 2015 г. (по данным «TIOBE Index») JavaScript является 6-м по популярности языком программирования, тогда как в 2014 занимал лишь 9 место в списке.
Тенденции развития
Текущее развитие JavaScript происходит достаточно стремительно и направлено в сторону стандартов HTML5 и ECMAScript 5 (с перспективой на ECMAScript 6). Язык становится все более мощным, избавляется от имеющихся багов и обрастает новыми возможностями. При этом все нововведения максимальную совместимы с предыдущими версиями, что позволяет исключить проблемы с уже существующими приложениями. Однако это не относится к возможностям, что лишь частично описаны в стандарте, поскольку любые изменения в нем могут вызвать ошибки в том, что было основано на старой реализации.
Суть JavaScript
В начале урока мы уже дали определение, что такое JavaScript, но сейчас остановимся на нем более подробно.
Среди ключевых особенностей JavaScript можно выделить:
- Полную интеграцию с HTML/CSS;
- Поддержку наиболее распространенными браузерами, в числе которых Mozilla Firefox, Opera, Google Chrome, IE и Safari;
- Максимальную упрощенность всех операций.
Подобное сочетание на сегодняшний день не имеет аналогов в других языках.
Стоит отметить, что JavaScript может выполняться на любом устройстве, вплоть до кофеварки или стиральной машинки. Единственное условие – наличие у последних программы-интерпретатора. Иными словами, исходный код передается специально разработанной для этого программе, которая будет выполнять его построчно, «как есть». Не путать с программами-компиляторами, которые не только обрабатывают исходный код, но и преобразуют его в другой машинно-ориентированный.
Большинство современных интерпретаторов относятся к компилирующему типу, т.е. они сначала максимально приближают JavaScript к машинному коду, оптимизируют и лишь затем выполняют. Подобный подход позволил увеличить скорость работы скриптов в несколько раз.
В итоге мы получаем:
JavaScript представляет собой сценарный язык программирования, который используется (в основном) для создания программ (скриптов), которые подключаются непосредственно к HTML и начинают выполняться при старте загрузки web-страницы. При этом скрипты – это обычный текст, который не требует особых навыков или специализированных программ для своего написания. Достаточно иметь хотя бы поверхностное представление относительно HTML и CSS, а также любой текстовый редактор (например, стандартный блокнот). Это еще одна из сильных сторон JavaScript и его ключевое отличие от другого языка программирования – Java.
Java и JavaScript
Из-за схожести в названиях многие начинающие программисты считают, что Java и JavaScript – это 2 разновидности одного языка программирования. Однако подобное утверждение в корне не верно.
Пусть изначально JavaScript и задумывался, как «младший брат» Java, сегодня это вполне самостоятельный язык. Среди ключевых их различий можно выделить следующие:
- Объектно-ориентированный подход в JavaScript основан на прототипах, а в Java – на классах;
- Типизация Java статическая, JavaScript — динамическая;
- При загрузке Java используется скомпилированный байт-код, тогда как JavaScript интерпретируется непосредственно из файла.
Возможности и ограничения JavaScript
Мы уже рассмотрели историю развития JavaScript, поговорили о его сути и отличии от Java, а значит, пришло время затронуть тему возможностей и ограничений.
При помощи JavaScript можно:
- Создавать/редактировать/удалять HTML-теги;
- Читать и редактировать элементы web-страницы;
- Посылать запросы на сервер и загружать данные без перезагрузки страницы (AJAX).
- Работать с cookie;
- Реагировать на указанные события (например, щелчок мышкой по элементу или нажатие определенной кнопки на клавиатуре);
- И т. д.
Ограничения JavaScript, по большей части, связаны с использованием браузера и сформулированы таким образом, чтобы потенциальные авторы вредоносного кода не могли запускать свое творение на любом компьютере сети. Разработчики браузеров постоянно отслеживают динамику злоупотреблений и периодически, в ответ на них, вносят дополнительные ограничения. Однако ключевыми из них считаются 2:
- Все скрипты выполняются в так называемой «песочнице» - среде, которая не позволяет реализовывать задачи программирования общего назначения (к примеру, создание файлов);
- Политика общего происхождения не позволяет скрипту, встроенному в страницу, получить доступ к некоторым свойствам объектов другой страницы, если их протокол, хост и номере порта различны.
Разумеется, в тех случаях, когда JavaScript используется вне браузера (скажем, на сервере), все эти ограничения отсутствуют.
Основы JavaScript: подготовка к программированию
Как уже было сказано выше, для написания скриптов подойдет любой текстовый редактор, а для их реализации – браузер с поддержкой JavaScript. В последующих примерах мы будем пользоваться бесплатными программами Notepad++ и Mozilla Firefox.
В большинстве современных браузеров поддержка JavaScript включена по умолчанию, однако бывают и исключения. Проверить это можно следующим образом:
- Создайте новый текстовый документ и вставьте в него следующий код:
<html>
<body>
<script language="JavaScript">
document.write("Добро пожаловать на Shneider Host")
</script>
</body>
</html>
- В меню «Файл» выберите пункт «Сохранить как», а в предложенных форматах html (если такой формат отсутствует, в поле «имя» напишите имя_файла.html).
- Откройте файл при помощи вашего браузера. Вот, что у вас должно в итоге получиться:
Если у вас получилось то, что показано справа, значит, стоит проверить включена ли поддержка JavaScript и обновить браузер до последней версии. Если то, что показано слева, – поздравляем, вы только что создали свой первый скрипт на основе JavaScript.
А на следующем занятии мы поговорим о том, что представляет собой структура кода JavaScript и как интегрировать его в код сайта.