Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
38
Добавлен:
02.05.2014
Размер:
35.67 Кб
Скачать

My home page Язык программирования JavaScript Язык JavaScript - это язык сценариев. В первоначальном варианте он был разработан фирмой Netscape и был назван LiveScript, а в последствии усовершенствован фирмой Sun, давшей ему имя JavaScript. Этот язык представляет собой более свободную интерпретацию языка Java. Он обеспечивает возможность включения в документ HTML определенных инструкций (сценариев), которые выполняются при загрузке документов в броузере Netscape Navigator. На языке JavaScript можно писать завершенные приложения, ориентированные на работу в среде пользователя. Главным достоинством JavaScript и Java перед CGI является то, что нет необходимости результаты работы HTML-документов в интерактивных режимах (формах) посылать на Web-сервер, т.к. интерактивный режим поддерживается на локальной ЭВМ.

Основной причиной изучения JavaScript в настоящее время, а не Java, является то, что броузер Netscape Navigator версии 2.0 и выше в 16-разрядной платформе понимает язык JavaScript, а для Java необходимы Java компиляторы и интерпретаторы, работающие в 32-разрядной среде, т.е. под управлением Windows 95 и Windows NT.

Выводы:

1) JavaScript - это язык программирования, позволяющий встраивать выполняемое содержимое в документы, написанные на языке HTML.

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

3) Позволяет разрабатывать выполняемое содержимое не только программистам, но и всем остальным пользователям.

4) Язык JavaScript ориентирован на броузер Netscape Navigator. Программа на языке JavaScript интерпретируется самим броузером при загрузке документа, в который помещен ее код. В этом состоит главное отличие документа HTML на языке JavaScript от аплетов языка Java, хранящихся отдельно от документа HTML, к которому они относятся. К тому же компилятор Java компилирует аплеты в нейтральный (машинно-независимый) формат с побайтовым представлением.

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

С помощью языка JavaScript можно:

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

- делать обработку форм на локальной ЭВМ;

- выполнять действия над числовыми и строковыми значениями;

- можно динамически создавать документы HTML;

- выводить сообщения для пользователя, например, предостережения.

Как поместить программу на языке JavaScript в документ HTML? Программы на языке JavaScript встраиваются в страницу текста на языке HTML. В Netscape имеется дескриптор (тэг) <script>. Броузер распознает программу на языке JavaScript, помещенную между начальным дескриптором <script> и его инверсией </script>, и приступает к ее выполнению.

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

Броузер Netscape Navigator выполняет синтаксический анализ содержимого элемента (контейнера) <script> построчно. Если на этом обнаруживается ошибка, то на экран броузера будет выведено сообщение и номер строки, содержащий ошибочный оператор. Рекомендуется размещать программы на языке JavaScript в элементе HTML <head> .... </head>, т.е. в заголовке страницы, т.к. это один из первых дескрипторов, которые читает броузер. В принципе их можно располагать в любом месте, однако, основной сценарий рекомендуется помещать в заголовок.

Местоположение сценариев зависит от того, для чего они предназначаются. Если сценарии используются для динамического создания кода HTML и предназначены для генерации программных или системных параметров, то элементы <script> могут быть разбросаны по всему тексту документа HTML и такое их расположение вполне оправдано. Однако, если требуется определить функции для решения различных задач, то самым лучшим местом для них будет отдельный элемент <script>, расположенный в начале документа.

Синтаксис элемента <script> следующий:

<script [ language="JavaScript" ]>

операторы JavaScript ......

</script>,

где атрибут language (язык) должен быть равным "JavaScript" (с точным соблюдением регистра!) для всех сценариев на языке JavaScript. Весь текст за пределами контейнера <script> должен быть исключительно в формате HTML. В файл HTML можно поместить несколько программ на языке JavaScript. Они выполняются в порядке их расположения в тексте (сверху вниз). При загрузке программ на языке JavaScript в броузер Netscape Navigator они анализируются только после (а не до) загрузки страницы HTML, содержащий контейнер <script>. Функции загружаются в память и выполняются броузером, когда генерируется соответствующее событие или при явном вызове функции JavaScript.

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

Приведем пример простой программы.

Пример 1

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

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

Броузер Netscape Navigator понимает дескриптор <script> и, следовательно, может правильно интерпретировать код, который следует за этим дескриптором. Но более важно то, что в Netscape Navigator реализована возможность правильно интерпретировать код JavaScript, помещенный внутри комментария HTML.

В HTML комментарии имеют следующий вид:

1) <!-- Это одна строка комментария -->

2) <!-- Это строки

нескольких комментариев,

занимающих четыре

строки -->

Чтобы при использовании броузеров, отличных от Netscape Navigator, при чтении файлов, в которые включен код на языке JavaScript, не возникало проблем, весь код на языке JavaScript следует размещать в контейнере комментариев HTML.

Однако, дескрипторы контейнера <script> .... </script> нельзя помещать в комментарий.

Броузеры, отличные от Netscape Navigator, не будут интерпретировать и выводить на экран эти дескрипторы, т.к. все броузеры, как правило, игнорируют дескрипторы, которые они не понимают.

Пример.

<script language="JavaScript">

<!-- Начало цепочки операторов сценария

операторы JavaScript ......

Конец цепочки операторов сценария -->

</script>

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

Тестирование программ на языке JavaScript Чтобы протестировать программы на языке JavaScript, следует загрузить файл HTML, содержащий сценарий, в броузер Netscape Navigator. Это можно сделать одним из двух способов:

1) Используя команду Open File в меню File для открытия локального файла на диске.

2) Используя средство file: URL для непосредственного открытия локального файла. В этом случае следует просто ввести URL в следующем формате:

file:///driveI\directory\filename

Например,

file:///cIJavaScript\examples\button1.html

В этом случае будет загружен файл с именем button1.html из каталога c:\JavaScript\examples.

Затем броузер Netscape Navigator начнет чтение файла, а в строке состояния появится сообщение Reading File. При обнаружении каких-либо ошибок, сообщения о них будут выведены на экран в специальном окне. В этом случае следует обратить внимание на номер строки, в которой обнаружена ошибка. Любая ошибка вызывает остановку программы в точке, где она обнаружена. В языке JavaScript отсутствует понятие предупреждений (warming) как таковых. В окне тревоги (alert) выводится имя файла, в котором найдена ошибка (вместе с URL), описание характера ошибки и номер строки, в которой обнаружена ошибка.

Для того, чтобы убрать сигнал тревоги с экрана, достаточно щелкнуть на кнопке OK. Если ошибок несколько, то выводится несколько сигналов тревоги. После этого броузер загружает гипертекстовый документ, но если его попытаться использовать, то может произойти все, вплоть до зависания.

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

Основные элементы языка JavaScript Язык JavaScript включает в себя три основных элемента:

- переменные-системные и определяемые пользователем;

- операторы, объекты и методы языка JavaScript;

- выражения и операции.

В переменных хранятся данные; переменные подразделяются на системные и определенные пользователем. Операторы - это группы ключевых слов на языке Java, которые выполняют определенные действияи используются для управления вычислительным процессом в программе, а также для решения других задач, таких как организация циклов.

К объектам относятся данные основных системных типов, например строки и числовые значения. Объекты характеризуются свойствами и методами. Свойствами являются значения, приписываемые объектам. Методы подобны функциям в других языках программирования. Они выполняют специальные специальные операции над данными.

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

- строки: последовательности символов;

- числовые значения: целые и действительные числа;

- булевы значения: true и false.

Строка - это последовательность символов, заключенных в одинарные (') или двойные (") кавычки. Например, "Вызов" и "4562" являются строками. При использовании строк необходимо следить, чтобы кавычки в начале и конце строки были одного типа. В том случае, когда число хранится в виде строки, в языке JavaScript над ними можно производить арифметические операции. В виде строки могут храниться некоторые специальные символы, которые предназначены для управления форматом вывода:

\n - переход на новую строку;

\t - горизонтальная табуляция;

\r - возврат каретки;

\f - переход на новую страницу;

\a - сигнал;

\b - возврат на позицию назад (стирание или удаление).

Числовые значения могут быть целыми либо числами с плавающей запятой.

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

- использование оператора var с операторами присваивания (=);

- используя только оператор присваивания (=).

Оператор var используется как для создания переменной, так и для инициализации ее заданным значением. Оператор присваивания используется для записи определенного значения и в JavaScript является необязательным. Например,

var days = 30;

............

days_April = 30;

var Temp_var;

Здесь непонятно, является ли переменная days_April новой. Поэтому для новых переменных рекомендуется применять оператор var. Тип переменной Temp_var не определен. Ее тип будет определяться, когда переменная будет использоваться.

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

var name="Федоров", email=petr@pmi.donetsk.ua

т.е. в одной строке можно объявлять несколько переменных сразу.

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

Для создания массива из n элементов используется метод Array(n). Например, myNumbers = new array (3);

При этом будет создано три элемента массива: myNumbers[0], myNumbers[1], myNumbers[2]. Теперь можно присваивать элементам массива с помощью операторов присваивания:

myNumbers[0] = "Пять";

myNumbers[1] = "Двенадцать";

myNumbers[2] = "Три".

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

var Days = "334";

var DaysDecember = 31;

Если теперь выполнить два оператора:

DaysNow = Days + DaysDecember;

DaysYear = DaysDecember + Days;

Так как типы Days и DaysDecember различны, то и различны значения, полученные в результате выполнения этих операторов. Переменной DaysNow будет присвоено значение "33431", а переменной DaysYear - значение 365. Это обусловлено тем, что JavaScript преобразует выражение к типу первого операнда. Поэтому будет корректным оператор OkValue = 365 - "10" т.к. строка "10" будет преобразована к числу 10.

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

- арифметические (результат - число);

- строковые (результат - строка);

- логические (результат - булево значение).

В условном выражении сравниваются между собой значения некоторых переменных. Оно имеет вид:

Условие? value1: value2

Если условие выполняется, то значение условного выражения будет value1, иначе - value2.

Например,

timeType = ( hour >= 12)? "PM": "AM"

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

= Присваивание

+= Сложение с присваиванием

+ Сложение

-= Вычитание с присваиванием

- Вычитание

*= Умножение с присваиванием

* Умножение

/= Деление с присваиванием

/ Деление

Т.е. здесь применяется также форма сокращенной записи, как и в языке СИ. Например, эти два выражения эквивалентны:

х = х * 10;

х *= 10;

Этот оператор увеличивает значение x в 10 раз

Операторы увеличения и уменьшения В языке JavaScript реализована поддержка операторов языка СИ: ++ и --, увеличивающих и уменьшающих значение переменной на единицу. Например,

days ++ days = days + 1

days -- days = days - 1

Операторы сравнения Они аналогичны в других языках:

== равно

!= не равно

>= больше или равно

больше

< меньше

Логические операторы К логическим операторам языка JavaScript относятся:

&& - логическое "И"

II - логическое "ИЛИ"

Они выполняют сценарии над булевыми значениями. Например, после выполнения трех операторов присваивания:

age1=true;

age2=false;

age3=true;

выражение языка JavaScript

age1 || age2

будет иметь значение true (истина), поскольку в нем выполняется логический оператор "или" (т.е. если хотя бы один из компонентов выражения имеет значение true, то и все выражение будет иметь это значение).

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

Строковые операторы В языке JavaScript строковые операторы + и += можно использовать для конкатенации строк. Например,

part1 = "Java";

part2 = "Script";

part3 = part1 + part2 будет равно "JavaScript".

Создание объектов JavaScript, определяемых пользователем В языке JavaScript реализована простая объектно-ориентированная модель. Это означает, что объект характеризуется свойствами, которые представляют собой переменные языка JavaScript. С каждым объектом можно связать ряд методов. Помимо встроенных объектов, язык JavaScript позволяет реализовать объекты, определяемые пользователем.

Доступ к свойствам объектов осуществляется с помощью следующей записи:

objectName.propertyName

где objectName - имя объекта в JavaScript;

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

Пример: Пусть существует объект с именем browser, который имеет свойства name и platform. Тогда вновь созданному объекту можно присвоить свойства:

browser.name = "Netscape 2.0";

browser.platform = "Windows95";

Операторы создаются с помощью оператора new языка JavaScript.

А: Создание объекта

function browser (name, platform)

{

this.name = name;

this.platform = platform;

}

..................

Соседние файлы в папке Cправочник web-дизайнера