Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Веб программирование.Начало.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
7 Мб
Скачать
☆

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

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

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

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

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

После этого можно задать значение переменной:

x = "Sample string";

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

y = "Second string";

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

Переменная представляет собой ссылку, которую можно установить на различные значения несколько раз. Тип переменной определяется данными, на которые она ссылается. Пример:

var man1 =10;

man1 = "Superman";

В Javascript - все переменные представляют объекты, кроме базовых ти­пов. Для каждого из базовых типов существуют классы-оболочки Number, String и Boolean. Везде, где необходимо, базовые типы автоматически преобра­зуются в объекты.Объектные переменные всегда создаются через оператор 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> <CENTER>

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

<script type="text/javascript">

var x=parseInt("35.55");

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

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). Для определения, является ли значение перемен­ной NaN, используется функция 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.

Булев тип

Переменные булевого типа могут принимать значения: true – ис­тина; false – ложь. Пример:

var d= true;

if (d) { alert(“Hello, World!”); }

Переменные типа Undefined и Null

Тип undefined используется для несуществующих переменных или переменных, значения которых еще не определены, например.

var x;// undefined

Тип null означает пустое значение. Пример объявления:

var x = null;

Массивы

Массив – это упорядоченная коллекция данных. По сути это объект, такой же, как Object, - ассоциированный массив(хеш). У хешей в каче­стве индекса используется строка. Все элементы массива пронумеро­ваны, первый элемент массива имеет нулевой индекс. Существуют два способа объявления массива. Первый способ через конструктор:

var myArr = new Array();

Второй способ создания массива через инициализацию значений.

var emptyArr = [];

Var x=[1,2,3];

Var y=x;

x[0]=100;

alert(y);// выведет 100,2,3

Доступ к элементу массива осуществляется с помощью индекса. Пример:

myArr[3] = “Hello!”;

var x = myArr[3];

Массивы могут быть многомерными. Обращение выглядит так:

var myArr = [[1,2],[3,4],[5,6]]; // массив размером 3х2

alert(myArr[2][1]);//выводится элемент, равный 6.