Рассмотрим примеры объявлений переменных:
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).
Типы данных
//Объявляем переменные
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");
В вышеприведенном коде для вывода информации используется метод document. write(), который позволяет дописывать строку текста прямо в страницу (рис. 11.7).
Рис. 11.7. Типы данных
Для вывода текста, значений переменных и их типа аргументом данного метода выступает довольно сложное выражение. Более подробно выражения будут рассмотрены далее в этой главе.
Совет
Язык JavaScript относится к числу языков, слабо контролирующих типы данных, поэтому одна переменная может в ходе работы сценария принимать значения различных типов. Однако такого следует избегать, так как это может привести к трудноуловимым ошибкам и усложнить понимание кода.
Переменные могут быть глобальными и локальными. Понятие области действия переменных тесно связано с функциями, которые являются отдельными блоками кода. Переменная, объявленная внутри функции, является локальной, и только эта функция имеет доступ к ее значению. Локальные переменные создаются и уничтожаются вместе с соответствующей функцией. Глобальные переменные должны объявляться вне функций. Такие переменные позволяют функциям обмениваться данными.
Массивы
Массив – это особая переменная, позволяющая хранить сразу несколько значений. Обычно эти значения связаны между собой, например массив может содержать названия месяцев. Массивы могут существенно упростить код и при использовании циклов снизить трудоемкость разработки сценария.
Рассмотрим пример объявления и задания значений элементов массива (листинг 11.6).
//Объявляем массив с 5 элементами
var stars= new Array(5);
//Задание значений элементам массива
stars[0]='Сириус';
stars[1]=' Канопус';
stars[2]=' Арктур';
stars[3]=' Капелла';
stars[4]=' Вега';
//Вывод первого элемента массива
alert(stars[0]);
//Вывод всех элементов массива
alert(stars);
Обратите внимание, что при объявлении массива количество элементов указывается в круглых скобках, а при обращении к элементу его индекс указывается в квадратных скобках. Кроме того, в языке JavaScript нумерация элементов массива начинается с нуля, поэтому первый элемент массива – stars[0].