Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Федеральное агентство по образованию

ГОУ ВПО Тульский государственный университет

Технологический факультет

 

Кафедра
"Автоматизированные станочные системы"

Курс "Интернет-технологии"

 

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

ДЛЯ ВЫПОЛНЕНИЯ ЛАБОРАТОРНЫХ РАБОТ

СТУДЕНТАМИ НАПРАВЛЕНИЙ 552900

ТУЛА 2010

РАЗРАБОТАЛ:

доц.

СОДЕРЖАНИЕ

1. Краткая справка по Javacript 5

1.1. Переменные в JavaScript 5

1.1.1 Объявление переменных_ 5

1.1.2 Присвоение значения переменным_ 6

1.2. Типы данных в JavaScript_ 6

1.2.1 Числа_ 6

1.2.2 Текстовые строки_ 7

1.2.3 Логические данные_ 7

1.2.4 Данные неопределенного типа_ 7

1.2.5 Преобразование типов данных_ 8

1.2.6 Операторы языка JavaScript_ 9

1.2.7 Унарные операторы__ 9

1.2.8 Бинарные операторы__ 10

1.2.9 Операторы для работы с отдельными битами_ 10

1.2.10 Операторы сдвига_ 10

1.2.11 Операторы отношения_ 11

1.2.12 Логические операторы__ 11

1.2.13 Оператор присваивания_ 11

1.3. Функции в языке сценариев JavaScript_ 12

1.4. Массивы в JavaScript (класс Array) 13

1.5. Объект window_ 14

1.5.1 Свойства объекта window_ 15

1.5.2 Методы объекта window_ 15

1.5.3 Метод alert_ 16

1.5.4 Метод confirm_ 16

1.5.5 Метод prompt_ 16

1.5.6 Метод open_ 17

1.5.7 Метод close_ 18

1.5.8 Метод setTimeout_ 18

1.5.9 Метод clearTimeout_ 19

1.5.10 События для объекта window_ 19

1.6. Сценарии, работающие с объектами window_ 20

1.6.1 Закрываем окно браузера_ 20

1.6.2 Открываем новое окно_ 22

1.6.3 Бегущий текст в строке состояния браузера_ 23

НЕ нашли? Не то? Что вы ищете?

1.6.4 Загрузка нового документа HTML в окно браузера_ 27

1.7. Объект document_ 29

1.7.1 Свойства объекта document_ 29

1.7.2 Методы объекта document_ 30

1.7.3 Цветовое оформление документа_ 31

1.7.4 Ссылки и метки в документе_ 32

1.8. Встроенный класс Date_ 33

1.8.1 Конструкторы класса Date_ 34

1.8.2 Методы класса Date_ 35

1.9. Работа со строками (класс String) 38

1.9.1 Свойства_ 38

1.9.2 Методы__ 38

1.9.3 Дополнительные функции для работы со строками_ 43

1.10. Встроенный объект Math_ 44

1.10.1 Свойства_ 44

1.10.2 Методы__ 46

2. Краткая справка по Javacript

  2.1. Переменные в JavaScript

В сценариях JavaScript можно использовать переменные, адресуясь к ним по имени. Переменные могут быть как глобальные, так и локальные. Глобальные переменные доступны из любого места сценария. Область действия локальных переменных ограничивается функцией, внутри которой эти переменные объявлены. Так же как и в языке программирования Basic, при составлении сценариев JavaScript можно использовать переменные без их предварительного объявления. Исключение из этого правила - локальные переменные, определенные в функциях. Однако рекомендуется объявлять переменные перед их использованием, а также присваивать им начальные значения. Это упрощает отладку сценариев и уменьшает вероятность возникновения ошибок при составлении исходного текста, особенно если одновременно применяются глобальные и локальные переменные.

2.1.1 Объявление переменных

Все переменные в JavaScript объявляются с помощью ключевого слова var, как это показано ниже:

var szHelloMsg;

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

szMsg = "Привет!";

После такого присвоения имя переменной szMsg становится доступным.

При выборе имен переменных необходимо придерживаться следующих простых правил:

имя переменной должно начинаться с буквы или с символов "_", "$" и может состоять только из букв, цифр, а также символов "_", "$";

имя переменной не должно совпадать с зарезервированными ключевыми словами JavaScript.

Список зарезервированных ключевых слов JavaScript приведен ниже:

break case catch class const continue

debugger default delete do else enum

export extends false finally for function

if import in new null return

super switch this throw true try

typeof var void while with

2.1.2 Присвоение значения переменным

Значение переменной присваивается при помощи оператора присвоения "=". В качестве примера, ниже объявлена переменная и затем в нее записана текстовая строка:

var szHelloMsg;

szHelloMsg = "Hello, world!";

В любом месте программы можно присвоить переменной szHelloMsg численное значение, например, так:

szHelloMsg = 4;

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

Переменной можно присвоить специальное значение null:

szHelloMsg = null;

Такое присвоение не назначает переменной никакого типа. Оно применяется в тех случаях, когда нужно объявить переменную и проинициализировать ее, не присваивая этой переменной никакого начального значения и типа.

  2.2. Типы данных в JavaScript

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

2.2.1 Числа

Язык сценариев JavaScript допускает использование чисел в различных форматах. Это целые числа, числа в формате с плавающей десятичной точкой и числа в научной нотации. Целые числа могут быть представлены по основанию 8, 10 или 16. Например:

25 Целое число по основанию 10

0137 Целое число по основанию 8

0xFF Целое число по основанию 16

386.7 Число с плавающей десятичной точкой

25e5 или 25E5 Число в научной нотации, равное 2500000

В некоторых случаях арифметические функции могут возвращать так называемое "нечисло", которое называется в JavaScript как NaN (Not a Number). "Нечисло" - это специальное значение, которое не соответствует никакому числу. Оно возникает в тех случаях, когда результат выполнения операции над числами не может быть представлен в виде числа. С помощью функции isNaN можно проверить, является ли значение "нечислом".

2.2.2 Текстовые строки

Текстовая строка - это последовательность символов, заключенных в одинарные или двойные кавычки, например:

"Hello, world!"

""

"12345"

'Это текстовая строка'

Строка "" - пустая. Заметим, что следующие два присвоения не эквивалентны:

szStr=""

szStr1=null

В первом случае в переменной szStr хранится текстовая строка (хотя бы и пустая), во втором - совсем ничего.

2.2.3 Логические данные

Логические данные могут иметь только два значения: true и false. Эти значения никак не соотносятся с числами 1 и 0. Они предназначены главным образом для выполнения операций сравнения, а также для использования в условных операторах.

2.2.4 Данные неопределенного типа

Если переменная была объявлена, но ей еще ни разу не присваивалось значение, она имеет неопределенный тип. Например, в следующей строке сценария объявлена переменная MyVariable, которая имеет неопределенный тип:

var MyVariable;

Если же этой переменной присвоить значение null, то тип переменной изменится - теперь это будет переменная, содержащая значение null:

MyVariable = null;

2.2.5 Преобразование типов данных

Когда в выражениях встречаются переменные разных типов, интерпретатор JavaScript может автоматически преобразовывать численные данные в текстовые строки. Обратное же преобразование (строк в числа) приходится выполнять с помощью специальных функций, таких как parseInt и parseFloat. Поясним это на примере (Листинг 8.1).

Листинг 8.1

<HTML>

<HEAD>

<TITLE>Type conversion sample</TITLE>

</HEAD>

<BODY>

<H1>Type conversion sample</H1>

<TABLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

var szTextBuf = "";

szTextBuf = 4 + " - число четыре" + "<BR>";

szBuf2 = (parseInt("2") + 2) + "&nbsp; - число четыре" + "<BR>";

document. write(szTextBuf + szBuf2);

// -->

</SCRIPT>

</TABLE>

</BODY>

</HTML>

Здесь мы объявили переменную szTextBuf и проинициализировали ее пустой строкой. Далее мы присвоили этой строке сумму числа 4 и двух текстовых строк:

szTextBuf = 4 + " - число четыре" + "<BR>";

При вычислении этого выражения значение 4 автоматически преобразовывается в текстовую строку. Дальнейшее суммирование выполняется как слияние (конкатенация) трех текстовых строк. Обратите внимание на символ неразделяющего пробела &nbsp;, который используется в документах HTML. Если заменить его на обычный пробел, то после конкатенации строк этот пробел исчезнет. В следующей строке преобразовывается текстовая строка "2" в численное значение с помощью функции parseInt, прибавляется к результату преобразования число 2, а затем выполняется конкатенацию с двумя текстовыми строками:

szBuf2 = (parseInt("2")+2)+" - число четыре"+ "<BR>";

В результате переменная szBuf2 будет содержать ту же самую строку, что и переменная szTextBuf.

2.2.6 Операторы языка JavaScript

2.2.7 Унарные операторы

Унарные операторы применяются для изменения знака, выполнения операции дополнения, инкремента и декремента:

- Изменение знака на противоположный

! Дополнение. Используется для реверсирования значения логических переменных

++ Увеличение значения переменной. Может применяться как префикс переменной или как ее суффикс

-- Уменьшение значения переменной. Может применяться как префикс переменной или как ее суффикс

Примеры использования унарных операторов:

i=0; // начальное значение переменной i равно 0

i++; // значение i равно 1

--i; // значение i снова равно 0

var j=3; // значение переменной j равно 3

i = - j; // значение переменной i равно -3

var fYes = true; // значение переменной fYes равно true

testFlag(!fYes); // функции testFlag передается значение false

2.2.8 Бинарные операторы

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

- Вычитание

+ Сложение

* Умножение

/ Деление

% Вычисление остатка от деления

Эти операторы используются таким же образом, что и в языке программирования C, например:

i=0; // начальное значение переменной i равно 0

i = i + 1; // значение i равно 1

var j=9; // значение переменной j равно 9

i = j / 2; // значение переменной i равно 4

k = j % 2; // значение переменной i равно 1

2.2.9 Операторы для работы с отдельными битами

В сценариях можно применять операторы, выполняющие над битами переменных такие логические операции, как И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, НЕ:

& И

| ИЛИ

^ ИСКЛЮЧАЮЩЕЕ ИЛИ

~ НЕ

Перечисленные выше операторы перед выполнением своих функций преобразуют значения переменных в 32-разрядные целые числа.

2.2.10 Операторы сдвига

Для выполнения операций сдвига в языке JavaScript предусмотрено три оператора:

>> Сдвиг в правую сторону

<< Сдвиг в левую сторону

>>> Сдвиг в правую сторону с заполнением освобождаемых разрядов нулями

Перед использованием операторов сдвига значение переменной преобразуется в 32-разрядное целое число.

Ниже приведен пример, в котором в переменную nValue записывается значение, полученное в результате сдвига бит числа 4. Сдвиг выполняется на два бита влево:

var nValue;

nValue = 4 << 2;

2.2.11 Операторы отношения

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

> Левый операнд больше правого

>= Левый операнд больше или равен правому

< Левый операнд меньше правого

<= Левый операнд меньше или равен правому

== Левый операнд равен правому

!= Левый операнд не равен правому

2.2.12 Логические операторы

|| Оператор ИЛИ. Возвращает значение true,

когда один из операндов равен true

&& Возвращает значение true,

когда оба операнда равны true

2.2.13 Оператор присваивания

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

= Простое присваивание

+= Увеличение численного значения или слияние строк

-= Уменьшение численного значения

*= Умножение

/= Деление

%= Вычисление остатка от деления

>>= Сдвиг вправо

>>>= Сдвиг вправо с заполнением освобождаемых разрядов нулями

<<= Сдвиг влево

|= ИЛИ

&= И

^= ИСКЛЮЧАЮЩЕЕ ИЛИ

Рассмотрим, например, применение оператора += для увеличения содержимого числовой переменной. Вначале решим эту задачу без использования данного оператора. Ниже объявлена переменная с именем nCounter и присвоено ей начальное значение 1, а затем увеличено это значение на 5:

var nCounter = 1;

nCounter = nCounter + 5;

Теперь сделаем то же самое, но с использованием комбинаций операторов:

var nCounter = 1;

nCounter += 5;

Как видно, второй способ короче первого.

Для того чтобы сдвинуть содержимое переменной на три разряда вправо, можно воспользоваться оператором >>=, как это сделано в следующем фрагменте исходного текста:

nCounter >>= 3;

Результат при этом будет такой же, как и при выполнении следующей строки:

nCounter = nCounter >> 3;

  2.3. Функции в языке сценариев JavaScript

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

Общий вид определения функции представлен ниже:

function имя([параметр 1] [,параметр 2] [...,параметр N])

{

. . .

строки тела функции

. . .

[return значение]

}

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

С помощью ключевого слова return функция может вернуть значение.

  2.4. Массивы в JavaScript (класс Array)

Массивы в JavaScript создаются как объекты встроенного класса Array:

var myArray;

myArray = new Array();

После этого можно сразу заполнять массив значениями:

myArray[0] = 8;

myArray[1] = 25;

myArray[3] = "Hello";

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

Заполнить массив значениями можно также и на стадии его создания. Делается это, например, так:

colors = new Array ("red","white","blue")

В JavaScript нет нужды беспокоиться о размере массива - он устанавливается автоматически. Если обратиться к элементу myArray[99], то размер устанавливается в 100 элементов (нумерация начинается с 0), а элементы с 4-го по 98-й (в нашем случае) остаются неопределенными. Следует отметить, что такой подход позволяет только увеличивать размер массива, но не уменьшать его (в JavaScript это невозможно).

Размер (число элементов) существующего массива можно узнать с помощью свойства length. Например:

k = myArray. length;

document. write("размер массива" + k);

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

for(n in myArray)

{

document. write(n + "<br>");

}

Для массивов определены три метода: join, reverse, sort.

Join объединяет элементы массива в строку символов, в качестве аргумента в этом методе задается разделитель:

colors = new Array("red","white","blue")

string = acolors. join("+")

В результате выполнения присваивания значения строке символов string получаем следующую строку:

string = "red + white + blue"

Другой метод, reverse, изменяет порядок элементов массива на обратный, а метод sort отсортировывает их в порядке возрастания.

  2.5. Объект window

Объект window находится в корне иерархии объектов браузера и являет собой окно, в которое загружена страница.

2.5.1 Свойства объекта window

Объект window имеет свойства, описывающие размеры окна, расположенные в окне фреймы, имя окна, содержимое строки состояния окна и другие:

Свойство

Описание

frames

Массив всех фреймов данного окна

length

Количество фреймов в родительском окне

name

Имя окна, указанное при его открытии методом open, а также в параметре TARGET оператора <A> или в параметре NAME оператора <FORM>

parent

Синоним имени окна. Относится к окну, содержащему набор фреймов

self

window

Синоним имени окна. Относится к текущему окну

status

Текущее сообщение, отображаемое в строке состояния окна браузера

top

Синоним имени окна. Относится к окну верхнего уровня

2.5.2 Методы объекта window

Среди методов, определенных в объекте window, наиболее важны методы, предназначенные для открытия новых окон и закрытия существующих, для отображения на экране простейших диалоговых панелей с сообщениями и методы для установки таймера:

Метод

Описание

alert

Отображение диалоговой панели Alert с сообщением и кнопкой OK

close

Закрытие окна

confirm

Отображение диалоговой панели Confirm с кнопками OK и Cancel

open

Открытие окна

prompt

Отображение диалоговой панели Prompt с полем ввода

setTimeout

Установка таймера

clearTimeout

Сброс таймера

2.5.3 Метод alert

Этот метод применятся для вывода на экран простейшей диалоговой панели с сообщением и кнопкой ОК. Формат вызова метода alert:

alert("Сообщение");

Через единственный параметр методу alert передается сообщение, отображаемое в диалоговой панели. После вызова этого метода выполнение сценария задерживается до тех пор, пока пользователь не нажмет кнопку OK, расположенную в диалоговой панели с сообщением. Заметим, что при вызове метода alert не указан объект, для которого вызывается метод - объект window. Если при вызове метода объект не указан, интерпретатор сценария, встроенный в браузер, предполагает, что метод относится к объекту window. Тем не менее, можно явно указывать объект window:

window. alert("Сообщение");

Результат будет тем же самым.

2.5.4 Метод confirm

С помощью метода confirm можно отобразить на экране диалоговую панель с сообщением, однако в этой панели будет две кнопки - OK и Cancel. В зависимости от того, какая кнопка будет нажата, метод возвратит, соответственно, значение true или false. Метод confirm обычно используется следующим образом:

if(confirm("Сообщение"))

{

// Нажата кнопка OK

. . .

}

else

{

// Нажата кнопка Cancel

. . .

}

2.5.5 Метод prompt

Если в сценарии необходимо получить от пользователя одну текстовую строку, для этого можно применить метод prompt. Этот метод отображает на экране диалоговую панель, в которой есть одно текстовое поле ввода и кнопки OK и Cancel. Когда пользователь нажимает эту кнопку OK, метод prompt возвращает введенную строку. Если нажата кнопка Cancel, то возвращается значение NULL. Метод prompt вызывается следующим образом:

Var szInput="";

szInput=prompt("Сообщение","Строка ввода по умолчанию");

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

2.5.6 Метод open

С помощью метода open сценарий может открыть новое окно браузера и загрузить в это окно документ HTML для просмотра. Формат вызова метода open приведен ниже:

open("Адрес URL", "Имя Окна", "Параметры окна");

Метод возвращает имя нового окна, которое можно использовать для ссылки на свойства и методы окна, а также на свойства и методы объектов, расположенных в этом окне.

Первый параметр метода open задает адрес URL документа HTML, предназначенный для загрузки в новое окно. Второй параметр определяет имя окна для использования в параметре TARGET оператора <A> или в операторе <FORM>. Вы можете указать его как пустую строку вида "". Третий, необязательный параметр, задает различные параметры, определяющие внешний вид создаваемого окна браузера. Этот параметр указывается как текстовая строка, где через запятую перечислены значения отдельных параметров, например:

var wndNewWindow;

wndNewWindow=open("hello. html", "",

"toolbar=no, menubar=no, scrollbars=no, width=300,height=100");

Ниже перечислены все возможные параметры окна:

Параметр

Описание

toolbar

Если параметр имеет значение yes или 1, окно снабжается стандартной инструментальной линейкой. Если же значение этого параметр равно no, то инструментальная линейка будет отсутствовать

location

Параметр определяет, будет ли отображаться поле ввода адреса документа

status

Отображение строки состояния

menubar

Отображение линейки меню

scrollbars

Отображение полос просмотра

resizable

Если этот параметр указан как yes или 1, пользователь сможет изменять размер вновь созданного окна

width

Ширина окна в пикселах

height

Высота окна в пикселах

2.5.7 Метод close

С помощью метода close можно закрыть созданное вами или основное окно браузера. Формат вызова этого метода такой:

wndNewWindow. close()

Заметим, что текущее окно браузера (то есть окно, в которое загружен документ HTML с работающим сценарием) может быть закрыто одним из двух следующих способов:

window. close()

self. close()

2.5.8 Метод setTimeout

С помощью метода setTimeout можно установить таймер, указав при этом выражение JavaScript и задержку во времени:

idTimer=setTimeout(cmd, timeout);

Метод setTimeout создает и запускает таймер, возвращая его идентификатор. Когда пройдет время, заданное вторым параметром timeout (в миллисекундах), запускается выражение JavaScript, заданное параметром cmd.

Рассмотрим такой фрагмент сценария:

var cmd="NoAccess()";

idTimer=window. setTimeout(cmd, 10000);

Здесь создается таймер с временем задержки 10 секунд. После прошествия этого времени будет вызвана функция с именем NoAccess, которая должна быть определена в сценарии заранее. Эта функция будет выполнена только один раз.

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

2.5.9 Метод clearTimeout

С помощью метода clearTimeout можно остановить таймер, запущенный методом setTimeout. В качестве параметра методу clearTimeout необходимо передать идентификатор таймера, полученный от метода setTimeout:

clearTimeout(idTimer);

2.5.10 События для объекта window

С объектом класса window связаны два события - onLoad и onUnload. Первое из них возникает, когда браузер заканчивает загрузку окна или всех окон фреймов, определенных оператором <FRAMESET>, а второе - когда пользователь завершает работу с документом HTML.

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

В качестве примера рассмотрим следующий фрагмент документа HTML, содержащий сценарий:

. . .

function Hello()

{

window. alert("Welcome to my home page!")

}

function Bye()

{

window. alert("Bye! Come back again!")

}

. . .

<BODY BGCOLOR=white onLoad="Hello()" onUnload="Bye()">

. . .

Здесь в операторе <BODY> определены обработчики событий onLoad и onUnload. При возникновении первого события будет вызываться функция Hello, а при возникновении второго события - функция Bye. Заметим, что так как документ HTML интерпретируется в направлении сверху вниз, функции Hello и Bye необходимо определить до появления оператора <BODY>. Лучшее место для определения этих функций - заголовок документа HTML.

  2.6. Сценарии, работающие с объектами window

Рассмотрим конкретные примеры сценариев, использующие свойства и методы объекта window.

2.6.1 Закрываем окно браузера

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

Листинг 8.2

<HTML>

<HEAD>

<TITLE>Закрываем окно браузера</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

function CloseNavWnd()

{

if(confirm("Вы действительно желаете закрыть окно браузера?"))

window. close();

}

// -->

</SCRIPT>

</HEAD>

<BODY BGCOLOR=white>

<H1>Закрываем окно браузера</H1>

<P>Для того чтобы закрыть окно браузера,

нажмите кнопку "Close Navigator Window",

расположенную ниже:

<FORM NAME="selectForm">

<P><INPUT TYPE="button" VALUE="Close Navigator Window"

onClick="CloseNavWnd();">

</FORM>

</BODY>

</HTML>

В области заголовка документа определена функция CloseNavWnd:

function CloseNavWnd()

{

if(confirm("Вы действительно желаете закрыть окно браузера?"))

window. close();

}

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

Кнопка, закрывающая окно, добавляется на страницу следующим образом (более подробно подобные элементы будут рассмотрены позже, в разделе "Формы"):

<INPUT TYPE="button" VALUE="Close Navigator Window"

onClick="CloseNavWnd();">

Для того чтобы функция CloseNavWnd вызывалась после того, как пользователь нажимает кнопку, в строке определения этой кнопки указан обработчик события onClick.

2.6.2 Открываем новое окно

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

В этом окне расположена кнопка "Open Hello window". Если нажать на эту кнопку, будет создано еще одно окно браузера, в которое загрузится содержимое файла hello. html. Однако внешний вид этого окна будет несколько необыче: в окне нет ни полос просмотра, ни меню, ни инструментальной линейки. Дело в том, что при создании этого окна в нашем сценарии было указано, что перечисленные выше элементы пользовательского интерфейса отображать не нужно. Кроме того, были определены точные размеры окна.

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

Исходные тексты документов представлены ниже:

Листинг 8.3. Основной документ

<HTML>

<HEAD>

<TITLE>Window object</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

function Hello()

{

window. alert("Добро пожаловать на мою страницу!")

}

function Bye()

{

window. alert("До свидания! Заходите еще!")

}

function OpenHelloWnd()

{

var wndNewWindow;

wndNewWindow = window. open("hello. html", "",

"toolbar=no, menubar=no, scrollbars=no, width=300,height=100");

}

// -->

</SCRIPT>

</HEAD>

<BODY BGCOLOR=white onLoad="Hello()" onUnload="Bye()">

<H1>Открываем новое окно</H1>

<FORM NAME="selectForm">

<P><INPUT TYPE="button" VALUE="Open Hello window"

onClick="OpenHelloWnd();">

</FORM>

</BODY>

</HTML>

В операторе <BODY> задана обработка событий onLoad и onUnload:

<BODY BGCOLOR=white onLoad="Hello()" onUnload="Bye()">

Когда пользователь загружает данный документ, после окончания загрузки браузер вызывает функцию Hello, назначенную для обработки события onLoad. Перед удалением окна с документом вызывается обработчик события onUnload, реализованный в функции Bye. Функции Hello и Bye определены в заголовке документа HTML и не имеют никаких особенностей.

Когда пользователь нажимает кнопку "Open Hello window", определенную в форме, вызывается функция OpenHelloWnd. Эта функция открывает новое окно браузера, загружая в него новый документ HTML. Окно открывается следующим образом:

wndNewWindow = window. open("hello. html", "", "toolbar=no, menubar=no, scrollbars=no, width=300,height=100");

В качестве первого параметра методу open передается адрес URL документа HTML, который должен быть загружен в окно. Второй параметр определяет имя окна (в данном случае не задано), а третий - определяет параметры окна.

2.6.3 Бегущий текст в строке состояния браузера

Рассмотрим еще одну очень распространенную задачу - отображение бегущего текста в строке состояния браузера. Строка состояния обычно используется браузерами для отображения различной информации, например, информации о выполнении текущей операции. Для того чтобы записать что-нибудь в строку состояния, необходимо изменить содержимое свойства status объекта window окна браузера. Эту задачу можно решить, например, так:

window. status = "Новая строка";

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

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

Листинг 8.4

<HTML>

<HEAD>

<TITLE>Бегущая строка</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

var szMsg = "Добро пожаловать на наш Web сайт!";

var nSpace = 100;

var nIteration = 0;

function sscroll()

{

var cmd = "sscroll()";

var szOut = "";

var szText = "";

for (i=0 ; i < nSpace ; i++)

{

szText += " ";

}

szText += szMsg;

szOut =

szText. substring(nIteration, nSpace + nIteration);

window. status = szOut;

nIteration++;

if(nIteration > nSpace + szMsg. length)

{

nIteration = 0;

}

timer = window. setTimeout(cmd, 50);

}

// -->

</SCRIPT>

</HEAD>

<BODY BGCOLOR=white>

<H1>Бегущая строка</H1>

<SCRIPT LANGUAGE="JavaScript">

<!--

sscroll();

// -->

</SCRIPT>

<P>Пример реализации бегущей строки в окне браузера.

</BODY>

</HTML>

В области заголовка документа определены глобальные переменные szMsg, nSpace и nIteration, а также функция sscroll. Переменная szMsg инициализируется текстовым сообщением, которое будет непрерывно перемещаться в строке состояния браузера. Значение, записанное в переменную nSpace, определяет количество пробелов, которое будет добавлено к строке сообщения слева перед началом операции сдвига. И, наконец, переменная nIteration служит счетчиком сдвигов для функции sscroll.

Функция sscroll вызывается первый раз в теле документа:

<BODY BGCOLOR=white>

<H1>Бегущая строка</H1>

<SCRIPT LANGUAGE="JavaScript">

<!--

sscroll();

// -->

</SCRIPT>

. . .

</BODY>

В дальнейшем функция sscroll организует при помощи метода setTimeout свой собственный вызов, отложенный во времени на 50 миллисекунд, и завершает работу. Однако через указанное время функция будет вызвана вновь, и это будет продолжаться до тех пор, пока документ HTML, содержащий сценарий, остается загруженным в окно браузера. Упрощенно структура функции sscroll показана ниже:

function sscroll()

{

var cmd = "sscroll()";

. . .

// Отображение сообщения в строке состояния браузера

. . .

// Сдвиг сообщения влево на одну позицию

. . .

timer = window. setTimeout(cmd, 50);

}

После отображения сообщения в строке состояния и сдвига этого сообщения влево на одну позицию функция sscroll вызывает метод setTimeout, передавая ему через первый параметр переменную с командой, подлежащей выполнению, а через второй - время задержки, по прошествии которого данную команду нужно будет выполнить. В качестве выполняемой команды методу setTimeout указывается вызов функции sscroll. Таким образом, эта функция вызывается периодически.

В функции sscroll определены три локальные переменные. Переменная cmd хранит команду вызова функции sscroll. В переменной szOut подготовлен текст, отображаемый в строке состояния браузера при каждом вызове функции sscroll. Текстовая переменная szText используется как рабочая. В ней формируется сообщение для вывода. Вначале в переменную szText записывается nSpace пробелов, а затем добавляется строка szMsg:

for (i=0 ; i < nSpace ; i++)

{

szText += " ";

}

szText += szMsg;

Для того, чтобы при каждом вызове функции sscroll сообщение отображалось со сдвигом на одну позицию, из переменной szText извлекается подстрока. Извлечение подстроки выполняется с помощью метода substring, определенного во встроенном классе текстовых строк String. Полученная подстрока записывается в свойство status объекта window и таким образом отображается в строке состояния:

szOut = szText. substring(nIteration, nSpace + nIteration);

window. status = szOut;

Первый параметр метода substring определяет начальную позицию подстроки внутри строки, а второй - конечную. После отображения сообщения функция sscroll увеличивает значение глобального счетчика nIteration на единицу:

nIteration++;

Когда в результате сдвига сообщение полностью уходит из строки состояния, счетчик nIteration снова устанавливается в нулевое значение:

if(nIteration > nSpace + szMsg. length)

{

nIteration = 0;

}

Обратите внимание, что общая длина сдвигаемой строки здесь вычисляется как сумма значения nSpace (количество начальных пробелов) и длины сообщения szMsg. Последняя определяется с помощью метода length, определенного во встроенном классе String.

2.6.4 Загрузка нового документа HTML в окно браузера

Сценарий, рассмотренный в данном примере, позволяет отразить новый документ в текущем окне браузера. При нажатии на кнопку "Переход" сценарий запрашивает адрес URL и производит переход на новую страницу

Листинг 8.5

<HTML>

<HEAD>

<TITLE>Загрузка нового документа</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

function urlJump()

{

var szNewURL="";

szNewURL=prompt("Введите URL нового документа:", "http://");

window. location. href=szNewURL;

}

// -->

</SCRIPT>

</HEAD>

<BODY BGCOLOR=white>

<H1>Загрузка нового документа</H1>

<FORM NAME="selectForm">

<P><INPUT TYPE="button" VALUE="Переход"

onClick="urlJump();">

</FORM>

</BODY>

</HTML>

Когда в пользователь нажимает кнопку "Переход" в форме selectForm, запускается функция urlJump. Эта функция вызывает метод prompt, определенный в классе window:

var szNewURL="";

szNewURL=prompt("Введите URL нового документа:", "http://");

Метод prompt отображает диалоговую панель, предназначенную для ввода текстовой строки. В данном случае это должна быть строка адреса URL документа HTML, который будет загружен в окно браузера. Введенный адрес записывается в переменную szNewURL. Для того чтобы загрузить в окно новый документ, достаточно изменить содержимое свойства объекта location с именем href:

window. location. href=szNewURL;

Это свойство хранит адрес URL документа. Изменение содержимого свойства href объекта location главного окна браузера приводит к загрузке в это окно нового документа.

  2.7. Объект document

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

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

2.7.1 Свойства объекта document

Ниже перечислены свойства объекта document, доступные сценарию JavaScript:

Свойство

Описание

alinkColor

Цвет ссылок, выбранных пользователем

anchors

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

applets

Массив объектов, соответствующих аплетам Java, расположенным в документе HTML

bgColor

Цвет фона документа

cookie

Значение cookie для текущего документа

fgColor

Цвет текста

forms

Массив, содержащий в виде объектов все формы, расположенные в документе HTML

images

Массив растровых изображений, включенных в документ

lastModified

Дата последнего изменения документа HTML

linkColor

Цвет ссылок, размещенных в документе и еще не посещенных пользователем

links

Массив, содержащий все ссылки в документе HTML

location

Полный адрес URL документа HTML

referrer

Адрес URL вызывающего документа HTML

title

Заголовок документа, заданный с помощью оператора

URL

Полный адрес URL документа HTML

vlinkColor

Цвет ссылок, размещенных в документе и уже посещенных пользователем

Объект document может содержать в себе другие объекты, доступные как свойства:

Свойство

Описание

anchor

Локальная метка, определенная в документе HTML с помощью тэга <A>

form

Форма, определяемая в документе HTML с помощью оператора <FORM>

history

Список адресов URL, посещенных пользователем

link

Текст или изображение, играющее роль гипертекстовой ссылки. Создается с помощью оператора языка HTML <A>, в котором дополнительно задаются обработчики событий onClick и onMouseOver

2.7.2 Методы объекта document

Сценарии JavaScript могут вызывать следующие пять методов, определенных в объекте document:

Метод

Описание

clear

Удаление содержимого документа из окна просмотра

close

Закрытие потока данных, открытого для документа методом open. В окне будут отображены все изменения содержимого документа, сделанные сценарием после открытия потока

open

Открытие выходного потока для записи в документ HTML данных типа MIME при помощи методов write и writeln

write

Запись в документ произвольной конструкции языка HTML

writeln

Аналогично предыдущему, но в конце строки добавляется символ новой строки

2.7.3 Цветовое оформление документа

Большинство свойств объекта objects доступно сценарию JavaScript как для чтения, так и для записи. В данном примере попробуем динамически изменить цветовое оформление документа HTML.

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

Листинг 8.6

<HTML>

<HEAD>

<TITLE>Color Links</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--

document. bgColor = "#00FF80";

document. fgColor = "#800080";

document. linkColor = "#000000";

document. alinkColor = "#FF0000";

document. vlinkColor = "#4000FF";

// -->

</SCRIPT>

</HEAD>

<BODY BGCOLOR=white>

<H1>Изменение цветового оформления</H1>

<P>Посетите эти серверы:

<P><A HREF="http://www. *****/~frolov/index. html">Наша домашняя страница</A>

<P><A HREF="http://www. *****">Каталог программ Auramedia</A>

<P><A HREF="http://www. /java/">Страница сервера Microsoft про Java</A>

<P><A HREF="#Локальный раздел">Локальный раздел</A>

<HR>

<H1><A NAME="Локальный раздел">Локальный раздел</A></H1>

<P>Этот локальный раздел вы можете просмотреть, даже если ваш компьютер не подключен к Internet

</BODY>

</HTML>

Обратите внимание, что наш сценарий переопределяет цвет фона, заданный параметром BGCOLOR в операторе <BODY>:

document. bgColor = "#00FF80";

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

2.7.4 Ссылки и метки в документе

Как известно, для того чтобы вставить в документ HTML ссылку или локальную метку, необходимо использовать тэг <A>. В общем виде этот оператор представлен ниже:

<A HREF=Адрес URL или локальная метка NAME="Имя локальной метки"

TARGET="Имя окна" onClick="Обработчик события: щелчок по ссылке"

onMouseOver="Обработчик события: курсор над ссылкой"> Текст ссылки </A>

Для каждой ссылки, размещенной в документе HTML, создается отдельный объект. Все такие объекты находятся в объекте документа Document как элементы массива links. Сценарий JavaScript может определить свойства каждой ссылки, расположенной в документе HTML, анализируя элементы объекта links. Вот список этих свойств:

Свойство

Описание

hash

Имя локальной ссылки, если она определена в адресе URL

host

Имя узла и порт, указанные в адресе URL

hostname

Имя узла и доменное имя узла сети. Если доменное имя недоступно, вместо него указывается адрес IP

href

Полный адрес URL

pathname

Путь к объекту, указанный в адресе URL

port

Номер порта, используемого для передачи данных с сервером, указанным в данной ссылке

protocol

Строка названия протокола передачи данных (включающая символ "двоеточие"), указанного в ссылке

search

Строка запроса, указанная в адресе URL после символа "?"

target

Значение параметра TARGET, заданное в ссылке

length

Количество элементов в массиве links, то есть количество ссылок в текущем документе HTML

  2.8. Встроенный класс Date

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

Ниже приведено краткое описание конструкторов и методов этого класса.

2.8.1 Конструкторы класса Date

Для использования большинства методов класса Date необходимо создать объект этого класса при помощи одного из трех конструкторов. Конструктор первого вида вызывается следующим образом:

var dtNewDate;

dtNewDate = new Date();

Здесь создается объект Date, в котором хранится информация о текущей дате и времени. Это время задается по Гринвичу или, пользуясь более современным определением, с использованием времени Universal Coordinated Time.

Конструктор второго вида позволяет указать дату через единственный параметр:

var dtNewDate;

dtNewDate = new Date(nMilliseconds);

Параметр nMilliseconds задает дату в миллисекундах, считая от 1 января 1970 года.

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

var dtNewDate;

dtNewDate=new Date(year, month, date, hours, min, sec, ms);

Параметры этого конструктора описаны ниже:

Параметр

Описание

year

Год, например, 1998 или 2012

month

Номер месяца от 0 (январь) до 11 (декабрь)

date

Календарная дата, задается в диапазоне от 1 до 31

hours

Необязательный параметр, задающий час дня в диапазоне от 0 до 23. Обязательно указывается, если задан параметр min

min

Необязательный параметр, задающий минуты в диапазоне от 0 до 59. Обязательно указывается, если задан параметр sec

sec

Необязательный параметр, задающий секунды в диапазоне от 0 до 59. Обязательно указывается, если задан параметр ms

ms

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

2.8.2 Методы класса Date

getDate

Определение даты, хранящейся в объекте класса Date. Метод возвращает значение календарной даты в диапазоне от 1 до 31. Пример использования:

var dtNewDate;

var nDate;

dtNewDate = new Date();

nDate = dtNewDate. getDate();

getDay

Определение номера дня недели, хранящегося в объекте класса Date. Метод возвращает 0 для воскресения, 1 - для понедельника, и так далее. Пример использования:

nDay = dtDate. getDay();

getHours

Определение количества часов, прошедших после полуночи. Пример использования:

nHours = dtDate. getHours();

getMinutes

Определение количества минут, прошедших после начала часа. Пример использования:

nMinutes = dtDate. getMinutes();

getMonth

Определение количества месяцев, прошедших с января. Пример использования:

nMonth = dtDate. getMonth();

getSeconds

Определение количества секунд, прошедших с начала минуты. Пример использования:

nSeconds = dtDate. getSecnds();

getTime

Определение времени для заданного объекта класса Date. Метод getTime возвращает количество миллисекунд, прошедших с 1 января 1970 года. Пример использования:

nMilliseconds = dtDate. getTime();

getTimeZoneOffset

Определение смещения локального времени относительно времени по Гринвичу (в миллисекундах). Пример использования:

nOffsetMilliseconds = dtDate. getTimeZoneOffset();

getYear

Метод getYear возвращает год, хранящийся в объекте класса Date. Пример использования:

nYear = dtDate. getYear();

parse

Метод parse возвращает количество миллисекунд, прошедших с 00 часов 00 минут 1 января 1970 года по время, указанное в параметре функции. Для вызова этого метода не нужно создавать объект класса Date, а можно просто сослаться на имя этого класса:

nMS = Date. parse(szDataString);

Через параметр szDataString можно указать время, например, так:

"12 Oct 1998 12:00:00"

"12 Oct 1998 12:00:00 GMT"

"12 Oct 1998 12:00:00 GMT+0330"

Первая из этих строк задает локальную дату и время, вторая - дату и время по Гринвичу, и, наконец, последняя, - время и дату по Гринвичу со смещением на 3 часа и 30 минут.

Метод parse обычно применяют вместе с конструктором объекта Date или с методом setTime (рассмотрен ниже).

setDate

Метод setDate используется для установки календарной даты в объекте класса Date. Пример использования:

dtNewDate. setDate(nDateNumber);

Параметр nDateNumber может принимать значения от 1 до 31.

setHours

Метод setHours используется для установки количества часов, прошедших после полуночи, в объекте класса Date. Пример использования:

dtNewDate. setHours(nHours);

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

setMinutes

Метод setMinutes используется для установки количества минут, прошедших после начала часа, в объекте класса Date. Пример использования:

dtNewDate. setMinutes(nMinutes);

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

setMonth

Метод setMonth используется для установки номера месяца, прошедшего с начала года, в объекте класса Date. Пример использования:

dtNewDate. setMonth(nMonth);

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

setSeconds

Метод setSeconds используется для установки количества секунд, прошедших с начала минуты, в объекте класса Date. Пример использования:

dtNewDate. setSeconds(nSeconds);

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

setTime

С помощью метода setTime можно установить дату в объекте класса Date, соответствующую заданному количеству миллисекунд, прошедших после 1 января 1970 года. Пример использования:

dtNewDate. setTime(nMilliseconds);

setYear

Метод setYear используется для установки номера года, в объекте класса Date. Пример использования:

dtNewDate. setYear(nsetYear);

toGMTString

Метод toGMTString предназначен для преобразования даты в строку, записанную в стандартном формате времени по Гринвичу (GMT).

toLocaleString

Аналогично предыдущему, однако вместо времени GMT используется локальное время.

UTC

Метод UTC преобразует дату, заданную параметрами метода, в количество миллисекунд, прошедшее с 1 января 1970 года. При использовании метода UTC, так же как и метода parse, вам не нужно создавать объект класса Date:

nMillisecond =

Date. UTC(year, month, date, hours, min, sec, ms);

Параметры метода UTC задаются таким же образом, как и описанные выше параметры конструктора объекта класса Date третьего вида.

  2.9. Работа со строками (класс String)

Класс string - это встроенный класс JavaScript. Объекты данного класса создаются всякий раз, когда в сценарии создаются строковые переменные. Свойства и методы данных объектов позволяют проводить основные операции со строками.

2.9.1 Свойства

length

Определяет длину строки. Пример использования:

var szStr;

szStr = "Hello World!";

k = szStr. length;

document. write("Длина строки" + k);

2.9.2 Методы

Ниже перечислены основные методы, присутствующие в классе String.

anchor(nameAttribute)

Метод anchor используется с методами write или writeln для программного создания и отображения якоря в документе. Якорь создается с помощью метода anchor, а write или writeln используется для отображения якоря в документе. Строка nameAttribute представляет собой атрибут NAME тага <A>. Якоря, созданные с помощью метода anchor становятся элементами массива anchors.

Пример использования:

var szStr;

szStr = "Hello World!";

document. write(szStr. anchor("Hello"));

bold

Вызывает строку, отображаемую жирным шрифтом (аналогично использованию тэга <b>).

Пример использования:

var szStr;

szStr = "Hello World!";

document. write(szStr. bold());

charAt(index)

Возвращает символ, указанный в index. Символы в строке индексируются слева направо. Индексом первого символа является 0. Если указан index превышающий количество символов в строке, JavaScript возвратит пустую строку.

Пример использования:

var szStr;

szStr = "Hello World!";

document. write(szStr. charAt(0));

(в результате будет выведен символ H)

fixed

Вызывает строку, отображаемую моноширинным шрифтом.

Пример использования:

var szStr;

szStr = "Hello World!";

document. write(szStr. fixed());

fontcolor(color)

Вызывает строку, отображаемую установленным цветом. Цвет color - строка или свойство существующего объекта, определяющая цвет как шестиразрядное шестнадцатиричное число (RGB) или как одно из строковых названий.

Пример использования:

var szStr;

szStr = "Hello World!";

document. write(szStr. fontcolor(red));

fontsize(size)

Вызывает строку, отображаемую установленным размером шрифта. Размер size задается как целое число (возможно, со знаком + или -) из диапазона от 1 до 7, или как свойство существующего объекта.

Пример использования:

var szStr;

szStr = "Hello World!";

document. write(szStr. fontsize("+1"));

indexOf(searchValue, [fromIndex])

Возвращает позицию первого вхождения подстроки searchValue в вызванном объекте. Поиск начинается с fromIndex (если не указано, то с начала строки). Если подстрока не найдена, то возвращается -1.

Пример использования:

var szStr;

szStr = "Язык сценариев JavaScript";

k = szStr. indexOf("сценариев");

document. write(k);

italics

Вызывает строку, отображаемую курсивом (аналогично использованию тэга <i>).

Пример использования:

var szStr;

szStr = "Hello World!";

document. write(szStr. italics());

lastindexOf(searchValue, [fromIndex])

Возвращает позицию последнего вхождения подстроки searchValue в вызванном объекте. Поиск начинается с fromIndex (если не указано, то с конца строки). Если подстрока не найдена, то возвращается -1.

Пример использования:

var szStr;

szStr = "Язык сценариев JavaScript";

k = szStr. lastindexOf("сценариев");

document. write(k);

link(hrefAttribute)

Создает гипертекстовую ссылку в документе HTML. Используется совместно с методами write или writeln. Строка hrefAttribute представляет собой атрибут HREF тэга <A> (целевой URL). Ссылки, созданные методом link, становятся элементами массива links.

Пример использования:

var szStr;

szStr = "Hello World!";

document. write(szStr. anchor("http://www. *****"));

sub

Возвращает строку, отображаемую как нижний индекс (подобно использованию тэга <sub>).

Пример использования:

var szStr;

szStr = "Hello World!";

document. write(szStr. sub());

substring(indexA, indexB)

Если indexA меньше чем indexB, то метод substring возвращает подстроку, начиная с символа indexA и заканчивая символом перед indexB. Если indexA больше чем indexB, то метод substring возвращает подстроку, начиная с символа indexB и заканчивая символом перед indexA. Если indexA равен indexB, то метод substring возвращает пустую строку.

Пример использования:

var szStr;

szStr = "Язык сценариев JavaScript";

document. write(szStr. substring(5,14));

sup

Возвращает строку, отображаемую как верхний индекс (подобно использованию тэга <sup>).

Пример использования:

var szStr;

szStr = "Hello World!";

document. write(szStr. sup());

toLowerCase

Возвращает значение вызванной строки, переведенной в нижний регистр.

Пример использования:

var szStr;

szStr = "Hello World!";

document. write(szStr. toLowerCase());

toUpperCase

Возвращает значение вызванной строки, переведенной в верхний регистр.

Пример использования:

var szStr;

szStr = "Hello World!";

document. write(szStr. toUpperCase());

2.9.3 Дополнительные функции для работы со строками

Ниже перечислены некоторые встроенные функций, не являющиеся методами объекта String, но тем не менее предназначенные для работы со строками.

eval

Функция eval предназначена для преобразования текстовой строки в численное значение. Через единственный параметр она получает текстовую строку и вычисляет ее как выражение языка JavaScript. Функция возвращает результат вычисления:

var nValue = Eval(szStr);

parseInt

Эта функция предназначена для преобразования текстовой строки в целочисленное значение. Строка передается функции через параметр:

var nValue = parseInt(szStr);

parseFloat

Функция parseFloat пытается преобразовать текстовую строку в число с плавающей точкой. Текстовая строка передается этой функции через первый параметр, а основание счисления - через второй:

var nFloat = parseFloat(szStr, nRadix);

escape

С помощью функции escape сценарий JavaScript может закодировать текстовую строку с применением URL-кодировки. В этой кодировке специальные символы, такие как пробел или символ табуляции, преобразуются к следующему виду: %XX, где XX - шестнадцатеричный код символа. Пример использования этой функции:

var szURL = escape(szStr);

unescape

Функция unescape выполняет действие, прямо противоположное действию функции unescape - перекодирует строку из URL-кодировки в обычную текстовую строку:

var szStr = unescape(szURL);

  2.10. Встроенный объект Math

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

2.10.1 Свойства

Ниже перечислены свойства класса Math. Все эти свойства являются математическими константами, поэтому сценарий JavaScript не может изменять их значение.

E

Это свойство представляет собой константу e. Приблизительное значение этой константы равно 2,72.

Вот пример использования свойства E:

var nE;

nE = Math. E;

PI

Свойство PI - это число π. Оно также является константой с приблизительным значением, равным 3,14.

Пример использования свойства PI (вычисления длины окружности по ее радиусу):

var nL;

var nR;

nL = 2 * Math. PI * nR;

LN2

Свойство LN2 - константа со значением натурального логарифма числа 2, то есть ln2.

Пример использования:

var nValue;

nValue = Math. LN2;

LN10

Свойство LN10 - константа со значением натурального логарифма числа 10, то есть ln10.

Пример использования:

var nValue;

nValue = Math. LN10;

LOG2E

Это свойство является константой со значением, равным логарифму числа 2 по основанию e, то есть loge2.

Пример использования:

var nValue;

nValue = Math. LOG2E;

LOG10E

Свойство LOG10E - это логарифм числа e по основанию 10, то есть log10e.

Пример использования:

var nValue;

nValue = Math. LOG10E;

QRT2

Свойство SQRT2 - это значение квадратного корня из 2.

Пример использования:

var nValue;

nValue = Math. SQRT2;

SQRT1_2

Свойство SQRT1_2 - это значение квадратного корня из 0,5.

Пример использования:

var nValue;

nValue = Math. SQRT1_2;

2.10.2 Методы

Ниже перечислены методы класса Math.

abs

Вычисление абсолютного значения. Пример использования:

var nValueAbs;

nValueAbs = Math. abs(nValue);

Здесь в переменную nValueAbs записывается абсолютное значение переменной nValue.

acos

Вычисление арккосинуса. Пример использования:

var nValue;

nValue = Math. acos(nAngle);

asin

Вычисление арксинуса. Пример использования:

var nValue;

nValue = Math. asin(nAngle);

atan

Вычисление арктангенса. Пример использования:

var nValue;

nValue = Math. atan(nAngle);

ceil

Вычисление наименьшего целого значения, большего или равного аргументу функции. Пример использования:

var nValue;

nValue = Math. ceil(nArg);

cos

Вычисление косинуса. Пример использования:

var nValue;

nValue = Math. cos(nAngle);

exp

Экспоненциальная функция, значение которой равно числу e, возведенному в степень аргумента функции.

Пример использования:

var nValueExp;

nValueExp = Math. exp(nValue);

floor

Вычисление наибольшего целого значения, меньшего или равного аргументу функции.

Пример использования:

var nValue;

nValue = Math. floor(nArg);

log

Вычисление натурального логарифма аргумента функции. Пример использования:

var nValue;

nValue = Math. log(nArg);

max

Определение наибольшего из двух значений. Пример использования:

var nValue1;

var nValue2;

var nValueMax;

nValueMax = Math. max(nValue1, nValue1);

min

Определение наименьшего из двух значений. Пример использования:

var nValue1;

var nValue2;

var nValueMin;

nValueMin = Math. min(nValue1, nValue1);

pow

Возведение числа в заданную степень. Пример использования:

var nValue;

nValue = Math. pow(2, 3);

Здесь число 2 возводится в степень 3, а результат, равный 8, записывается в переменную nValue.

random

Метод random возвращает случайное число в интервале от 0 до 1. Пример использования:

var nRandomValue;

nRandomValue = Math. random();

round

Метод round предназначен для выполнения округления значения аргумента до ближайшего целого. Если десятичная часть числа равна 0,5 или больше этого значения, то выполняется округление в большую сторону, если меньше - в меньшую. Пример использования:

var nValue;

nValue = Math. round(1.8);

После выполнения округления значение nValue будет равно 2.

sin

Вычисление синуса. Пример использования:

var nValue;

nValue = Math. sin(nAngle);

sqrt

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

var nValueSqrt;

nValueSqrt = Math. sqrt(nArg);

tan

Вычисление тангенса. Пример использования:

var nValue;

nValue = Math. tan(nAngle);