Использование
числовых массивов Массив - это набор
элементов, содержащих значения, сохраненный под
одним именем. Например, массив scores
может использоваться для сохранения счета
сыгранных матчей. Массивы могут состоять из
чисел, строковых переменных, объектов и других
типов данных.
Создание числового
массива
В отличие от большинства используемых в JavaScript
типов данных, массивы необходимо объявлять перед
использованием. В приведенном ниже примере
объявлен массив, состоящий из 30 элементов:
scores = new Array(30);
Чтобы определить значения массива, укажите его
индекс в скобках. Индексирование элементов
массива начинается с 0, поэтому элементы
объявленного выше массива имеют индексы 0-29.
Следующие операторы определяют значения первых
четырех элементов массива:
scores[0] = 39;
scores[1] = 40;
scores[2] = 100;
scores[3] = 49;
Подобно строковым переменным массивы имеют
свойство length. Оно определяет
количество элементов, из которых состоит массив.
Оно же определяется при создании массива. В
следующем примере отображается число элементов
массива scores:
document.write(scores.length);
Управление элементами
массива
Содержание массива определяется значениями
его элементов. При управлении элементами массива
используются те же методы, что и при управлении
значениями и переменными. Например, следующий
оператор позволяет отобразить значения первых
четырех элементов массива scores:
scoredisplay = "Статистика: " + scores[0]
+ "," + scores[1] + "," + scores[2] + "," + scores[3];
document.write(scoredisplay);
Использование строковых
массивов
В JavaScript, наряду с числовыми массивами, активно
используются и строковые массивы. Это позволяет
просто и эффективно управлять большими объемами
текстовой информации.
Создание строковых
массивов
Объявление строковых массивов проводится тем
же способом, что и объявление числовых массивов
(в JavaScript не существует принципиальной разницы
между числовыми и строковыми массивами):
names = new Array(30);
Следующим образом объявляются его элементы:
names[0] = "Виталий";
names[1] = "Юлия";
Элементы строкового массива используются
везде, где позволено использовать строковые
переменные. Все описанные выше методы
выполняются и для элементов строковых массивов.
Например, следующий оператор позволяет
распечатать первые пять символов значения
первого элемента массива names:
document.write(names[0].substring(0,5));
Разделение строковой
переменной
JavaScript содержит метод split(),
позволяющий разделять строку на составные части.
Для того чтобы правильно его использовать,
укажите необходимый объект и символ, по которому
проводится разделение:
test = "Виталий";
parts = test.split("и");
В этом примере строковая переменная test принимает значение Виталий. Метод split()
разделяет значение на три составные части по
символам и. После выполнения
этого метода массив определен следующим образом:
parts[0] = "В"
parts[1] = "тал"
parts[2] = "й"
JavaScript обладает еще одним методом управления
элементами строкового массива: join().
Он выполняет операцию, обратную методу split(). Следующий оператор
объединяет элементы массива parts
в одну строку:
fullname = parts.join("и");
Параметр в скобках определяет символ, по
которому проводится объединение. В нашем случае
в качестве этого символа выступает буква и. В результате получим
исходное имя Виталий. Если
символ указывать нет необходимости, обязательно
введите в качестве параметра запятую.
Сортировка элементов
массива
JavaScript содержит метод sort(),
используемый для сортировки элементов массива.
Он возвращает упорядоченную версию исходного
массива. Упорядочение проводится как по алфавиту
(для строковых массивов), так и по возрастанию или
убыванию (для числовых). В следующем примере
упорядочен массив, состоящий из четырех
английских имен:
names[0] = "Public, John Q.";
names[1] = "Tillman, Henry J.";
names[2] = "Clinton, Bill";
names[3] = "Mouse, Micky";
sortednames = names.sort();
Последний оператор создает в массиве sortednames упорядоченные по
алфавиту элементы массива names.
Отображение бегущих
строк
Теперь настало время применить на практике
полученные знания. Если вы читали предыдущие
выпуски рассылки, то у вас вполне достаточно
знаний, чтобы написать сценарий бегущей строки.
Чем мы сейчас и займемся...
Для начала давайте определим сообщение,
которое будет отображаться в бегущей строке. Для
сохранения текста сообщения используем
строковую переменную msg. В
самом начале сценария определите значение
переменной:
msg = "Это пример бегущего
сообщения."
Далее определите следующую строковую
переменную spacer. Ее значение
будет отображаться между копиями значений
переменной msg:
spacer = " ";
Кроме того, вам понадобится еще одна переменная
- числовая переменная, имеющая числовое значение
места расположения строки. Назовите ее pos и определите начальное
значение 0.
Создание бегущего сообщения проводится с
помощью функции ScrollMessage().
Листинг 11.1 содержит ее программный код.
Листинг 11.1. Код функции
ScrollMessage()
1: function ScrollMessage() {
2: window.status = msg.substring(pos, msg.length) + spacer + msg.substring(0,pos);
3: pos++;
4: if (pos > msg.length) pos = 0;
5: window.setTimeout("ScrollMessage()",200);
6: }
Ниже приведено построчное описание кода
функции.
Строка 1 содержит название функции, которое
определяет выполняемую ею операцию.
Строка 2 содержит текст, который будет
отображаться в бегущем сообщении строки
состояния. Сообщение состоит из части значения
строковой переменной msg
(определенной от индекса pos
до конца строки), пробела и части значения
строковой переменной msg
(определенной с начала строки до индекса pos).
Строка 3 содержит оператор увеличения значения
переменной pos на единицу.
Строка 4 содержит оператор проверки отношения
значения переменной pos к
длине строки msg. Если оно
больше, то переменная pos
принимает новое значение, равное 0.
Строка 5 содержит метод window.setTimeout,
определяющий время задержки, через которое будет
выполняться оператор. В нашем случае функция ScrollMessage выполняется с задержкой
в 200 миллисекунд.
Строка 6 содержит закрывающую скобку,
символизирующую конец программного кода
функции.
Чтобы сделать пример работающим, дополните его
дескрипторами <SCRIPT> и необходимыми тегами HTML.
Листинг 11.2 содержит программный код
вэб-страницы с бегущим сообщением в строке
состояния окна браузера.
Листинг 11.2. Пример
документа HTML с бегущим сообщением в строке
состояния
1: <HTML>
2: <HEAD>
3: <TITLE>Пример бегущей строки</TITLE>
4: <SCRIPT LANGUAGE="JavaScript">
5: var msg = "Это пример бегущего сообщения.";
6: spacer = " ";
7: pos = 0;
8: function ScrollMessage() {
9: window.status = msg.substring(pos, msg.length) + spacer + msg.substring(0,pos);
10: pos++;
11: if (pos > msg.length) pos = 0;
12: window.setTimeout("ScrollMessage()",200);
13: }
14: ScrollMessage();
15: </SCRIPT>
16: </HEAD>
17: <BODY>
18: <H1>Пример бегущей строки</H1>
19: </BODY>
20: </HTML>
|