Типы данных в JavaScript

В некоторых языках программирования необходимо при объявлении переменных определять их тип данных. В JavaScript это делать не надо. Тип данных определяется только в некоторых исключительных случаях. Именно поэтому стоит познакомиться более детально с типами используемых данных в JavaScript.

В JavaScript используются следующие основные типы данных:

  • Числовой. Например 5, 25 или 1.45435643. В JavaScript используются целочисленные значения и с плавающей точкой.

  • Булев, или логический. Он принимает только два значения: true (правда) и false (ложь). Обычно он используется для определения выполнения заданного условия.

  • Строковый. Он состоит из одного или многих текстовых символов. (Если поступать по правилам, то строковый тип данных назначается строковым объектам, о которых речь пойдет позже).

  • Нулевой. Определяется ключевым словом null. Это значение принимает неопределенная переменная. Например, оператор document.write(fig) принимает это значение, если переменная fig раньше не определялась.

Хотя JavaScript и сохраняет за переменной тот тип данных, который ей определен, существует вероятность изменения типа данных переменной. Предположим, вы объявили переменную следующим образом:

total = 31;

Этот оператор объявляет переменную total и назначает ей значение 31. Это значение имеет числовой тип данных. Предположим, вы затем изменяете тип данных переменной:

total = "Вася";

Теперь переменной total определен строковый тип данных. При выполнении последнего оператора сообщение об ошибке на экран не выводится. Он записан правильно, хотя и существует несогласованность в определении типа данных переменной total.

Хотя в JavaScript позволительно создавать подобные несогласованности в определении переменной типа данных, сделать ошибку все же можно. Например, если переменная total раньше использовалась в математических вычислениях, то результат последнего оператора приведет к конфликту, хотя сообщение об ошибке не экран не выводится.

Преобразование типов данных

JavaScript позволяет во всех возможных случаях проводить преобразование одних типов данных в другие. Например, вы в программе используете оператор:

document.write("Общая сумма:" + total);

Если переменная total имеет значение 40, то на экране отобразится следующая строка:

Общая сумма: 40

Поскольку функция document.write управляет строковым типом данных, любые нетекстовые значения (в нашем примере total) преобразуются в текстовые. И только после этого результат выводится на экран.

Этот метод вывода данных на экран применяется также для числовых значений с плавающей точкой и булевых переменных. Но существуют некоторые ситуации, в которых он не используется. Например, следующее выражение выполняется правильно в случае, если переменная total имеет значение 40:

average = total / 3;

Если же переменная total будет иметь строковый тип данных, то выполнение этого оператора приведет к возникновению ошибки.

В некоторых ситуациях строковый тип данных определен числу и необходимо преобразовать его в числовой. Для этих целей в JavaScript используются две функции.

parseInt(). Преобразует текстовый тип данных в целочисленный.

parseFloat(). Преобразует текстовый тип данных в числовой с плавающей точкой.

Обе функции считывают число в виде текста и преобразуют его в числовой тип данных. Например, вам необходимо преобразовать предложение 20 пышногрудых блондинок в числовое значение:

stringvar = "20 пышногрудых блондинок";
numvar = parseInt(stringvar);

После выполнения этих операторов переменная numvar принимает значение 20. Нечисловая часть предложения игнорируется и отбрасывается.

Функции преобразования типов данных ищут числа только в начале строки текста. Если число не найдено, функция возвращает строковое значение NaN, указывая на то, что текст не содержит числовых значений.

Сохранение пользовательских данных в переменных

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

В этом сценарии будет создана настраиваемая начальная страница пользователя. Для запроса у пользователя информации в JavaScript используется функция prompt.

В начале сценария у пользователя запрашивается имя, фамилия и название страницы. Это реализуется с помощью следующих операторов:

first = prompt("Введите ваше имя");
second = prompt("Введите вашу фамилию");
title = prompt("Введите название страницы");

Теперь вы можете приступать к настройке страницы с помощью переменных. Начнем с названия страницы, введенного пользователем:

document.write("<H1>" + title + "</H1>");

Этот оператор добавляет в документ HTML название страницы, заключенное в дескрипторы <H1> (заголовок первого уровня). Таким же образом добавляется имя пользователя и его фамилия:

document.write("<H2>Создано: " + first + " " + second + "</H2>");

Листинг 9.1 содержит полный программный код документа HTML.

Листинг 9.1. Сценарий настраиваемого документа HTML


1:   <HTML>
2:   <HEAD>
3:   <TITLE>Настраиваемая страница</TITLE>
4:   </HEAD>
5:   <BODY>
6:   <SCRIPT LANGUAGE="JavaScript">
7:   first = prompt("Введите ваше имя");
8:   second = prompt("Введите вашу фамилию");
9:   title = prompt("Введите название страницы");
10:  document.write("<H1>" + title + "</H1>");
11:  document.write("<H2>Создано: " + first + " " + second + "</H2>");
12:  </SCRIPT>
13:  </BODY>
14:  </HTML>
                   

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

nextn.bmp (246 bytes)

home.gif (161 bytes)

next.gif (900 bytes)

Сайт управляется системой uCoz