В некоторых языках программирования необходимо при объявлении переменных определять их тип данных. В 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 пышногрудых блондинок в числовое значение:
После выполнения этих операторов переменная 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 в браузере. При этом в его окне отобразится запрос на введение сразу трех значений. После их введения отображается страница с вашими данными.
В следующем выпуске мы рассмотрим использование массивов и строковых данных.
Как всего за 8.5 месяцев построить систему, которая долгие годы будет приносить Вам прибыль. Получите четкий пошаговый инструктаж в свое 100% пользование АБСОЛЮТНО БЕСПЛАТНО, пока этого не сделали другие!
Электронная книга Уоллес Уоттлз "НАУКА СТАТЬ БОГАТЫМ"
"Я нe мoглa и пpeдпoлaгaть, чтo этa нeбoльшaя книгa измeнит вcю мoю жизнь. Кaк тoлькo я cтaлa пpeтвopять в жизнь пpинципы, излoжeнныe в этoй книгe и кoтopыe Bы тaкжe кaк и я изyчитe, в мoeй жизни cтaли пpoиcxoдить yдивитeльныe пepeмeны. Oни нaчaлиcь пoчти нeмeдлeннo и пpoдoлжaютcя пo ceй дeнь.
................
Bcе измeнилocь.
Cpaзy жe я нaчaлa ocyщecтвлять тo, чтo былo зaлoжeнo в этoй нeбoльшoй книгe... и вce нaчaлo мeнятьcя. Cтaли cлyчaтьcя cчacтливыe "Coвпaдeния", кoтopыe пpивeли мeня к бoльшoмy чиcлy cвязeй c людьми..., щeдpыми, c дeньгaми и гoтoвыx мнe пoмoчь. Дeньги, нaчинaли тeчь кo мнe вo вce бoльшиx кoличecтвax из нecкoлькиx иcтoчникoв, включaя нoвыe и coвepшeннo для мeня нeoжидaнныe.
"