Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Специальные типы данных




Тип данных null имеет одно значение null. Когда переменная имеет значение null, то это означает, что она "пуста" — ей не присвоено никакого значения допустимого типа. Присваивание переменной значения null не уничтожает ее, но просто делает ее переменной, не содержащей значения любого допустимого типа данных: числового, строкового, булевого, объектного или массива. Значение null трактуется как 0 в арифметических операциях и false в логических, но оно не равняется 0 (как в С и С++).

Операция typeof для специального типа null возвращает Object (из-за совместимости с предыдущими версиями JavaScript).

Тип данных undefined имеет единственное значение undefined, которое присваивается переменной в двух случаях:

1. переменная объявлена, но ей еще не присвоено никакое значение;

2. при попытке обратиться к несуществующему свойству объекта.

В булевом контексте значение undefined трактуется как false, а в арифметическом как NaN. Нельзя сравнивать со значением undefined (такого просто не существует), но следует использовать операцию typeof, возвращающую тип undefined.

Переменные

Каждая переменная задается своим идентификатором — последовательностью буквенно-цифровых символов, начинающуюся с буквы (символ подчеркивания относится к букве):

Temp1

MyFunction

_my_Method

Определить переменную можно двумя способами:

· оператором var;

· оператором присваивания.

Оператор varиспользуется как для задания, так и для инициализации переменной и может располагаться в любом месте сценария:

var имя_переменной [= начальное_значение];

var weekDay = "Пятница";

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

В выражениях все переменные должны быть объявлены либо оператором var, либо в операторе присваивания. В противном случае будет сгенерирована ошибка, что отсутствует определение соответствующей переменной.

Динамическое изменение типа переменной

По ходу выполнения сценария переменной могут присваиваться разные значения, меняя, таким образом, ее тип:

var weekDay // переменная определена, но не инициализирована

// она имеет специальное значение undefined

...

weekDay = "Пятница"; // Строковый тип

...

weekDay = 5; // Целый тип

Определение типа переменной

Унарная операция typeof позволяет определить тип переменной, т. е. определить тип величины, хранящейся в данный момент в переменной. Синтаксис ее имеет вид:

typeof(переменная)

typeof переменная

Эта операция возвращает одну из шести строк, соответствующих возможным типам данных JavaScript:

"number"

"string"

"boolean"

"undefined"

"object"

"function"

Упражнения

1. Написать сценарий, который при загрузке страницы HTML в браузер методом document.write() формирует на странице элемент PRE и его содержимое в виде трех строк текста, в которых слова отделены символами табуляции. Это действие реализовать в одном вызове метода document.write().

2. Написать сценарий, который после загрузки страницы отображает в диалоговом окне, создаваемом функцией alert(), три строки сообщения.

3. Проверить соответствие булеву значению false значений 0, 00, 0.0, 0e1, null, undefined, +1, -1.1, "", "0", "undefined", "xxxx". Для этого создать переменные с указанными значениями и распечатать, например, функцией alert(), результат вычисления выражения!v, где v является идентификатором переменной с одним из указанных значений.

4. Написать сценарий, в котором одной и той же переменной присваиваются разные значение. После изменения значения переменной распечатать ее тип (результат выполнения операции typeof).

Урок 4. Выражения и операции

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

Переменные в выражениях должны быть инициализированы либо в операторе var, либо оператором присваивания. Если при вычислении выражения встречается неинициализированная или вообще не определенная переменная, то в Internet Explorer версий меньше 6.0 интерпретатор генерирует ошибку "undefined variable" ("переменная не определена"), указывая ее местоположение на странице HTML. В Internet Explorer 6.0 ситуация с использованием в выражении неинициализированной переменной была приведена к стандарту — такая переменная, а с ней и все арифметическое выражение принимает значение NaN, трактуемое в булевом контексте как false, а в строковых операциях как строка "NaN", но при использовании необъявленной переменной интерпретатор генерирует ошибку "определение отсутствует".

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

Кроме выражения присваивания в JavaScript определены еще три типа выражений:

· арифметическое — вычисляемым значением является число;

· строковое — вычисляемым значением является строка;

· логическое — вычисляемое значение равно true или false.

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...