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

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

Жанры

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).

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

Искатель 2

Шиленко Сергей
2. Валинор
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Искатель 2

Кодекс Охотника. Книга XXXIX

Сапфир Олег
39. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
боевая фантастика
5.00
рейтинг книги
Кодекс Охотника. Книга XXXIX

Офицер

Земляной Андрей Борисович
1. Офицер
Фантастика:
боевая фантастика
7.21
рейтинг книги
Офицер

Петля, Кадетский Корпус. Книга пятая

Алексеев Евгений Артемович
5. Петля
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Петля, Кадетский Корпус. Книга пятая

70 Рублей

Кожевников Павел
1. 70 Рублей
Фантастика:
фэнтези
боевая фантастика
попаданцы
постапокалипсис
6.00
рейтинг книги
70 Рублей

Я - злодейка в дораме. Сезон второй

Вострова Екатерина
2. Выжить в дораме
Фантастика:
уся
фэнтези
сянься
попаданцы
5.00
рейтинг книги
Я - злодейка в дораме. Сезон второй

Идеальный мир для Лекаря 28

Сапфир Олег
28. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 28

Вагант

Листратов Валерий
6. Ушедший Род
Фантастика:
боевая фантастика
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Вагант

Афганский рубеж 2

Дорин Михаил
2. Рубеж
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Афганский рубеж 2

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

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

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

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

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

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

Вечная Война. Книга II

Винокуров Юрий
2. Вечная война.
Фантастика:
юмористическая фантастика
космическая фантастика
8.37
рейтинг книги
Вечная Война. Книга II

Шайтан Иван 2

Тен Эдуард
2. Шайтан Иван
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Шайтан Иван 2