Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Веб программирование.doc
Скачиваний:
0
Добавлен:
02.02.2020
Размер:
6.88 Mб
Скачать

5.2. Описание языка

5.2.1. Типы данных

JavaScript поддерживает как базовые типы данных, так и объекты. Имеется пять базовых типов данных: числа; строки; булев (логический) тип; undefined – неопределенный; null – пустой. Числам, строкам и логическим данным соответствуют объектные типы Number, String и Boolean (классы оболочки), которые включают большое число методов. Таким объектам могут присваиваться значения соответствующих базовых типов. Хотя строковые литералы относят к базовым типам, фактически переменные-строки представляют собой ссылки на объекты.

Переменные и объекты в JavaScript могут объявляться с помощью ключевого слова var, и представляют собой ссылки, например:

var x;//undefined – переменная

x = "Sample string";

Тип переменной определяется данными, на которые она ссылается.

JavaScript позволяет создавать переменные и без объявления var:

y = "Second string";

При этом переменная y попадет в свойства глобального объекта window и становится глобальной.

В Javascript все переменные, кроме базовых ти­пов, представляют ссылки на объекты. Объектные переменные всегда создаются через оператор new или с помощью инициализации:

var man2 = new String("Superman");

var man1="OverMan";

Преобразование типа может производиться неявно, например в арифметических выражениях. Если сложить цифровую строку с числом, получим строку (перегрузка операции конкатенации +). Для других арифметических операций (-, *, /) цифровые строки сначала преобразуются в числа, затем операция выполняется. Преобразование типа может производиться также с помощью оператора присваивания, через вызов конструктора объекта-оболочки или явно. Пример:

var a="15"+2 //152 – складываются как строки

var a="15"-2 //13 – вычитания у строк нет, только у чисел

var a=true+false // 1

var test = Boolean("Stroka") // true

var х = Number("1234")

var z=String(x);

Для явного преобразования строки в число могут быть использованы такие функции, как parseInt("строка") и parseFloat("строка"). Метод toString() возвращает строку, соответствующую вызывающему его объекту:

var x=Number.toString()

var y=number.toString()

Здесь number – число, которое преобразуется к объекту Number, затем вызовет метод toString(). Преобразовать число в строку с указанным числом знаков можно также с помощью методов toFixed() и toExponential().

<!-- Пример pr7: Преобразования типов-->

<html> <head>

<title> Вывод окна</title>

</head>

<body >

<P> Cтраница документа<HR></P>

<script type="text/javascript">

var x=parseInt("35.55");

alert(2+2+ " "+25);//425

alert(2+"25");//225

confirm(" x= " + x);//35

x=Number("25.5")+0.5; //26

prompt(" x= "+x);//26

</script>

</body></html>

Числа. Численные данные включают целые и вещественные числа. Целые числа могут записываться в восьмеричной системе счисления: сначала ставится 0, затем цифры от 0 до 7(055, 036). Для записи целого шестнадцатеричного числа вначале ставится ноль, затем буква x, затем само число, которое может содержать цифры от 0 до 9 и буквы от A до F(ox3A, 0x9B). Числа в шестнадцатеричной системе счисления используются для битовых операций, а также для выбора цвета.

Вещественные числа могут принимать значения в пределах ±10e308 или быть точными в пределах ±2.2250e-308. Числа могут записываться в форме с точкой или в экспоненциальной форме (например 1.25e-05).

Если результат математической операции выходит за допустимые пределы, переменная принимает специальное значение Infinity – беско­нечность. Положительная бесконечность всегда больше любого действи­тельного числа, а отрицательная бесконечность всегда меньше любого действительного числа. Еще одним специальным значением является NaN (not a number). Имеется функция isNaN(value), которая возвращает true, если value является числом (включая бесконечность), и false, если значение равно NaN. К специальным числам относятся: максимальное и минимальное числа – Number.MAX_VALUE и Number.MIN_VALUE; Number.POSITIVE_INFINITY и Number.NEGATIVE_INFINITY – положительная и отрицательная бесконечность.

Строки. Строковый литерал – это последовательность символов, ограниченная двойными или одинарными кавычками. Строка представ­ляет собой объект, который имеет свойство length (длину строки) и ряд методов. Например, charAt(index) – возвращает символ, находящийся на определенной позиции, substr(start[, length]) – возвращает подстроку, которая начинается с определенной позиции и имеет указанную длину.

Строки в JavaScript являются неизменяемыми, метод charAt() есть , а метода SetcharAt() нет. Строки сравниваются по значению (s1==s2), а не по ссылке как объекты. Одиночный символ рассматривается как строка. В JavaScript используются специальные символы: \n, \r, \t, \’, \\, \xcode.