Чтение онлайн

на главную - закладки

Жанры

HTML, XHTML и CSS на 100%

Квинт Игорь

Шрифт:

Рассмотрим примеры объявлений переменных:

var myData1;

var x,y,z;

var k, msg1, msg2, IM;

В процессе объявления переменную можно проинициализировать, то есть установить для нее начальное значение:

var myStr="Здравствуйте, ";

var k=1000, x=12, y=-5;

var s=1.34e–5, msg11="Error", Flag=false;

Пока переменная не получит значение, она не определена – undefined.

Чтобы определить тип переменной, можно использовать операцию typeof, которая возвращает строку с типом переменной (листинг 11.5).

Листинг 11.5. Типы данных

<html>

<head>

<title>Типы данных</title>

</head>

<body>

<h2>Типы данных</h2>

<pre>

<script>

//Объявляем переменные

var i=45.78, msg="Строка";

var f=false, y;

//Выводим типы переменных

document.write("\n"+"Переменная i="+i+" – "+ typeof(i)+"\n");

document.write("Переменная msg="+msg+" – "+ typeof(msg)+"\n");

document.write("Переменная f="+f+" – "+ typeof(f)+"\n");

document.write("Переменная y ="+y+" – "+ typeof(y)+"\n");

//Инициализируем переменную y

y=null;

document.write("А теперь переменная y="+y+" – "+ typeof(y)+"\n");

</script>

</pre>

</body>

</html>

В вышеприведенном коде для вывода информации используется метод document. write, который позволяет дописывать строку текста прямо в страницу (рис. 11.7).

Рис. 11.7. Типы данных

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

Совет

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

Область действия переменных

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

Массивы

Массив – это особая переменная, позволяющая хранить сразу несколько

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

Рассмотрим пример объявления и задания значений элементов массива (листинг 11.6).

Листинг 11.6. Работа с массивом

<html>

<head>

<title>Работа с массивом</title>

<script>

//Объявляем массив с 5 элементами

var stars= new Array(5);

//Задание значений элементам массива

stars[0]='Сириус';

stars[1]=' Канопус';

stars[2]=' Арктур';

stars[3]=' Капелла';

stars[4]=' Вега';

//Вывод первого элемента массива

alert(stars[0]);

//Вывод всех элементов массива

alert(stars);

</script>

</head>

<body>

</body>

</html>

Обратите внимание, что при объявлении массива количество элементов указывается в круглых скобках, а при обращении к элементу его индекс указывается в квадратных скобках. Кроме того, в языке JavaScript нумерация элементов массива начинается с нуля, поэтому первый элемент массива – stars[0].

Язык JavaScript позволяет не перечислять все элементы по одному, а сразу вывести все элементы массива. Для этого необходимо обратиться к самому массиву, в результате чего получится строка, в которой все элементы массива перечислены через запятую (рис. 11.8).

Рис. 11.8. Вывод всех элементов массива

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

Листинг 11.7. Инициализация массива

<html>

<head>

<title>Инициализация массива</title>

<script>

//Объявляем массив и инициализируем значения элементов

var stars= new Array('Сириус',' Канопус',' Арктур',' Капелла',' Вега');

//Вывод первого элемента массива

alert(stars[0]);

//Вывод всех элементов массива

alert(stars);

</script>

</head>

<body>

</body>

</html>

Размерность массива можно не указывать, так как язык JavaScript этого не требует. Таким образом, можно постепенно расширять массив по мере добавления данных. Более того, можно объявить элемент с индексом n, что увеличит длину массива до n+1. Узнать длину массива можно с помощью свойства length (листинг 11.8).

Поделиться:
Популярные книги

Газлайтер. Том 25

Володин Григорий Григорьевич
25. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 25

Травник

Назимов Константин Геннадьевич
1. Травник
Фантастика:
фэнтези
5.00
рейтинг книги
Травник

Ненаглядная жена его светлости

Зика Натаэль
Любовные романы:
любовно-фантастические романы
6.23
рейтинг книги
Ненаглядная жена его светлости

Я до сих пор князь. Книга XXII

Дрейк Сириус
22. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я до сих пор князь. Книга XXII

Этот мир не выдержит меня. Том 2

Майнер Максим
2. Первый простолюдин в Академии
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Этот мир не выдержит меня. Том 2

Неудержимый. Книга XXIX

Боярский Андрей
29. Неудержимый
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Неудержимый. Книга XXIX

Сердце Дракона. Том 12

Клеванский Кирилл Сергеевич
12. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.29
рейтинг книги
Сердце Дракона. Том 12

Темная сторона. Том 1

Лисина Александра
9. Гибрид
Фантастика:
технофэнтези
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Темная сторона. Том 1

Элизиум. Аликс и монеты

Андерсон Александр
1. Элизиум
Фантастика:
фэнтези
сказочная фантастика
8.98
рейтинг книги
Элизиум. Аликс и монеты

Лекарь

Первухин Андрей Евгеньевич
1. Лекарь
Фантастика:
фэнтези
попаданцы
альтернативная история
7.50
рейтинг книги
Лекарь

Тринадцатый XIII

NikL
13. Видящий смерть
Фантастика:
городское фэнтези
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Тринадцатый XIII

Я еще барон. Книга III

Дрейк Сириус
3. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я еще барон. Книга III

Двойник короля 14

Скабер Артемий
14. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 14

Двойник короля 18

Скабер Артемий
18. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 18