Статьи Новости Контакты

12.01.2009
Даниил Буров

JavaScript: основы

описание языка сценариев JavaScript

Вариант пособия

JavaScript — объектно-ориентированный язык разработки встраиваемых приложений, выполняющихся как на стороне клиента, так и на стороне сервера. Синтаксис языка очень похож на синтаксис языка Java, поэтому его часто называют Java-подобным. Клиентские приложения выполняются браузером просмотра веб-документов на машине пользователя, серверные приложения выполняются на сервере. При разработке обоих типов приложений используется общий компонент языка, называемый ядром и включающий определения стандартных объектов и конструкций (переменные, функции, основные объекты и средство LiveConnect взаимодействия с Java-апплетами), и соответствующие компоненты дополнений языка, содержащие специфические для каждого типа приложений определения объектов.

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

Языковые средства и возможности среды представляются объектами, а сценарий (программа) представляет собой набор взаимодействующих объектов. Объект JavaScript – это неупорядоченный набор свойств, каждое из которых имеет несколько атрибутов, которые определяют, как это свойство может использоваться. Свойства – это контейнеры, которые содержат другие объекты, примитивные значения и методы. Примитивное значение – это элемент любого из встроенных типов: Undefined, Null, Boolean, Number и String. Объект – это элемент еще одного встроенного типа Object. Метод – функция, связанная с объектом через свойство.

Ядро JavaScript содержит набор основных объектов, таких как Array, Date и Math, и основной набор элементов языка, таких как операции, управляющие структуры и операторы. Ядро JavaScript может быть расширено путем предоставления дополнительных объектов. Серверный JavaScript расширяет ядро языка за счет объектов, имеющих отношение к работе JavaScript на сервере. Например, серверные расширения позволяют подключиться к реляционной БД, поддерживать непрерывность информации между вызовами приложения или работать с файлами на сервере.

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

Ядро JavaScript содержит набор основных объектов, таких как Array, Date и Math, и основной набор элементов языка, таких как операции, управляющие структуры и операторы
Основные области использования языка JavaScript при создании интерактивных HTML-страниц это:
  • динамическое создание документа с помощью сценария;
  • оперативная проверка достоверности заполняемых пользователем полей форм HTML до передачи их на сервер;
  • создание динамических HTML-страниц совместно с каскадными таблицами стилей и объектной моделью документа;
  • взаимодействие с пользователем при решении "локальных" задач, решаемых приложением JavaScript, встроенным в HTML-страницу.

Типы данных

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

  • целый;
  • вещественный;
  • строковый;
  • булевый или логический.

Для присваивания переменным значений основных типов применяются литералы – буквенные значения данных соответствующих типов. Целые литералы являются последовательностью цифр и представляют обычные целые числа со знаком или без знака:

  
  100  //  целое  положительное  число  
-100  //  целое  отрицательное  число  
+100  //  целое  положительное  число  

Для задания вещественных литералов используется синтаксис чисел с десятичной точкой, отделяющей дробную часть числа от целой. Или запись вещественных чисел в научной нотации с указанием после символа «e» или «E» порядка числа. Пример правильных вещественных чисел:

1.25    0.125e01  12.5E-1  0.0125E+2

Строковый литерал – последовательность алфавитно-цифровых символов, заключенная в одинарные (') или двойные (") кавычки, например: "Земля", 'ЗЕМЛЯ'. При задании строковых переменных нельзя смешивать одинарные и двойные кавычки. Недопустимо задавать строку, например, в виде "Земля'. Двойные кавычки – это один самостоятельный символ, а не последовательность двух символов одинарных кавычек. Если в строке нужно использовать символ кавычек, то строковый литерал необходимо заключать в кавычки противоположного вида:

"Это  строка"  //  Значение  строки  равно  "Это  строка"

Булевые литералы имеют два значения: true и false и используются для обработки ситуаций да/нет в операторах сравнения.

Переменные

Каждая переменная имеет имя, которое должно начинаться с буквы латинского алфавита либо символа подчеркивания «_», за которым следует любая комбинация алфавитно-цифровых символов или символов подчеркивания. Следующие имена являются допустимыми именами переменных:

Temp1  
MyFunction  
_my_Method  

Язык JavaScript чувствителен к регистру. Это означает, что строчные и прописные буквы алфавита считаются разными символами. Определить переменную в JavaScript можно двумя способами:

  • оператором var;
  • оператором присваивания (=).

Оператор var используется как для задания, так и для инициализации переменной и имеет синтаксис:

var  имя_переменной  [=  начальное_значение];

Необязательный оператор присваивания задает данные, которые содержит переменная. Их тип определяет и тип переменной. Например, следующий оператор

var  weekDay  =  "Пятница";

задает переменную weekDay, присваивает ей строковое значение "Пятница" и тем самым определяет ее тип как строковый. Если при определении переменной ей не присвоено никакого значения, то ее тип не определен. Ее тип будет определен только после того, как ей будет присвоено некоторое значение оператором присваивания =.

Операторы

Набор операторов языка JavaScript подобен набору других языков высокого уровня плюс группа операторов для поразрядных действий
Набор операторов языка JavaScript подобен набору других языков высокого уровня и включает в себя:
  • оператор присваивания;
  • арифметические операторы;
  • сокращенные формы операторов присваивания, совмещенных с арифметическими операторами;
  • логические операторы;
  • операторы сравнения;
  • строковые операторы;
  • условный оператор (является единственным оператором, использующим три операнда).

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

Объекты

На самом верхнем уровне иерархии находится объект window, представляющий окно браузера и являющийся "родителем" всех остальных объектов. Расположенные ниже в иерархии объекты могут иметь свои подчиненные объекты. На рисунке показана структура объектов клиента (браузера).

Иерархия объектов
Иерархия объектов JavaScript на стороне клиента

Особняком стоит объект navigator с двумя дочерними (подчиненными) объектами. Он относится к самому браузеру, и его свойства позволяют определить характеристики программы просмотра. Каждая страница в добавление к объекту navigator обязательно имеет еще четыре объекта:

  • window – объект верхнего уровня, свойства которого применяются ко всему окну, в котором отображается документ;
  • document – свойства которого определяются содержимым самого документа: связи, цвет фона, формы и т. д.;
  • location – свойства которого связаны с URL-адресом отображаемого документа;
  • history – представляет адреса ранее загружавшихся HTML-страниц.

Кроме указанных объектов страница может иметь дополнительные объекты, зависящие от ее содержимого, которые являются дочерними объектами объекта document. Если на странице расположена форма, то все ее элементы являются дочерними объектами этой формы. Для задания точного имени объекта используется точечная нотация с полным указанием всей цепочки наследования объекта.

Многофункциональность JavaScript

JavaScript – многоаспектный язык, который может применяться в различных контекстах для решения проблем, связанных с Web. Основные цели, достигаемые при помощи JavaScript:

  • усовершенствование и оживление статических HTML-страниц с помощью спецэффектов, анимации и баннеров;
  • проверка данных без передачи на сервер;
  • получение основы для разработки веб-приложений типа "клиент — сервер";
  • разработка клиентских приложений;
  • "сращивание" со стороны клиента HTML-объектов, Java-аплетов, элементов управления ActiveX и подключаемых модулей Netscape;
  • получение расширения к веб-серверу;
  • моделирование связи с базами данных без использования CGI.

Итого

JavaScript – язык, а не инструмент. Поскольку это язык сценариев, его можно применять в широком диапазоне приложений. Если рассматривать JavaScript в контексте разработки веб-страниц, то в большинстве своем применение касается клиентской части. На стороне сервера JavaScript применяется в средах Netscape Enterprise Server и Microsoft Active Server Pages. Он является родным языком в наборах инструментальных средств для разработки веб-страниц, таких как Borland Intra Builder, Macromedia Dreamweaver (начиная со второй версии). Не следует думать, что JavaScript – исключительно клиентский язык сценариев. Новейшие версии Microsoft Windows поддерживают JavaScript на рабочем столе вместе со средой Window Script Host (WSH).

Ссылки по теме




Скоро на сайте

  • Wordpress

    Серия статей о плагинах к движку WordPrress
  • AJAX

    Проекты и продукты, ориентированные на AJAX
  • Новые сервисы Google

    Обзор новых сервисов Google
 

Copyright © 2003—2017 Все права защищены

При использовании материалов сайта ссылка на hostinfo.ru обязательна

  • хостинг от .masterhost
  • Rambler's Top100