Немного о языке программирования JavaScript
http://belarusweb.net
Основы создания сайтов

Немного о языке программирования JavaScript

Определение языка программирования JavaScript

Будем считать, что на данном этапе обучения вы уже имеете достаточное представление о языке гипертекстовой разметки HTML, который предназначен для логической разметки структуры веб-страниц, а также знакомы с каскадными таблицами стилей CSS, которые позволяют оформлять внешний вид страниц в соответствии с пожеланиями веб-дизайнера. Теперь же настало время познакомиться с языком программирования JavaScript, который отвечает за интерактивность и поведение веб-страниц на стороне клиента, заставляя их должным образом реагировать на действия пользователя.

JavaScript – это высокоуровневый интерпретируемый язык программирования, разработанный специально для ведения веб-разработок.

Высокоуровневость языка означает, что он относительно прост и удобен для использования программистами, поскольку его синтаксис обычно состоит из сокращений обычных человеческих слов. Например, служебное слово var (от англ. variable) используется в JavaScript для объявления переменной. Однако то, что хорошо для программистов, не совсем подходит для машин, т.к. напрямую процессор способен понимать только последовательности двоичных нулей и единиц. Поэтому для перевода высокоуровневых языков программирования в машинный код, т.е. понятный для устройств двоичный язык 'нулей и единичек', используются специальные программы: интерпретаторы и компиляторы.

Что такое интерпретаторы и компиляторы?

Интерпретатор – это специальная программа, которая выполняет интерпретацию, т.е. последовательно анализирует поступающий на ее вход исходный код программы и тут же оператор за оператором, строчка за строчкой выполняет ее, предварительно преобразуя (транслируя) каждый кусок исходного кода в машинный код. Если в ходе интерпретации (выполнения программы) будет обнаружена ошибка, интерпретатор прекратит дальнейшее выполнение программы.

Так вот, JavaScript как раз и является интерпретируемым языком программирования, программы на котором могут выполняться на любом устройстве, в котором встроен интерпретатор языка JavaScript. А поскольку основным предназначением JavaScript является ведение веб-разработок, то его интерпретатор встроен в каждый уважающий себя браузер, что значительно облегчает жизнь веб-программистам, не требуя поиска и дополнительной установки интерпретатора.

Компилятор – это специальная программа, которая выполняет компиляцию, т.е. полностью преобразует (транслирует) исходный код какого-либо языка программирования в понятный для процессора машинный код. Компиляция программы выполняется один раз, и если процесс компиляции завершается без ошибок, программу можно будет запустить на целевом устройстве без повторного компилирования даже при отсутствии на нем компилятора.

Как видим, главной задачей как интерпретатора, так и компилятора является преобразование кода языка высокого уровня в машинный код, хотя и делают они это по-разному.

Понятие скрипта

Отметим, что JavaScript представляет собой одну из реализацией языка ECMAScript, описание которого закреплено в стандарте ECMA-262. Программы написанные на языке JavaScript называют скриптами. Скрипты подключаются напрямую к html-страницам при помощи html-элемента 'script' (смотреть здесь) и могут выполняться как в процессе загрузки страницы, так и в процессе взаимодействия страницы с пользователем. Поскольку скрипты (сценарии) JavaScript исполняются на клиентском компьютере в браузере, а не на веб-сервере, его, как правило, называют клиентским JavaScript.

Деление JavaScript на разделы

Также отметим, что JavaScript можно четко разделить на три основных части:

  • ядро (ECMAScript), которое обеспечивает базовую функциональность языка;
  • объектная модель браузера BOM (от англ. Browser Object Model), которая предоставляет средства для взаимодействия с браузером;
  • объектная модель документа DOM (от англ. Document Object Model), которая предоставляет средства для работы с содержимым веб-страниц.

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

Возможности JavaScript

В общем случае JavaScript дает нам возможность:

  • создавать и удалять теги, а также их атрибуты;
  • изменять содержимое тегов, а также значения их атрибутов;
  • изменять стили элементов;
  • реагировать на действия пользователя, обрабатывая клики мыши, перемещения курсора, нажатия на клавиатуру, заполнение полей формы и т.д.;
  • получать и устанавливать cookie, т.е. специальные текстовые строки, которые используются для хранения данных на стороне пользователя;
  • посылать запросы на сервер и загружать данные без полной перезагрузки страницы (технология 'AJAX');
  • определять браузер пользователя;
  • ну, и делать много других полезных вещей.

Ограничения JavaScript

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

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

Если говорить короче, то JavaScript разрабатывался таким образом, чтобы выполнение вредоносного кода на компьютере пользователя было максимально затруднено.

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