Книга ActionScript 3.0 - Оглавление

Глава1. Основы языка
Part1. Числовые типы данных (Number, int, unit)
Part1.1. Арифметические операции, объект Math
Part2. Логический тип данных Boolean
Part3. Строковый тип данных String
Part3.1. Класс String и его методы/свойства
Part3.2. Преобразование строки в число и обратно
Part4. Работа с массивами Array
Part4.1. Методы и свойства класса Array
Part4.2. Сортировка массива
Part4.3. Фильтрация массива
Part5. Работа с массивами Vector
Part6. Тип данных Object
Part6.1. Класс Object и преобразования типов
Part7. Передача данных по ссылке
>> Part8. Неопределенные значения NaN, null и undefined
Part9.1. Оператор выбора if-else
Part9.1.1 “? :” – альтернативная конструкция if-else
Part9.2. Оператор выбора switch - case
Part10.1. Оператор цикла for и for in
Part10.2. Операторы цикла while и do
Part11. Таймеры
Книга ActionScript 3.0


Ch1.Part8. Неопределенные значения NaN, null и undefined | Книга ActionScript 3.0

NaN

Как вы думаете что получится если нуль поделить на нуль? Математики скажут что неопределенность. А вот в языке ActionScript результатом будет значение NaN. Всякий раз, если в результате работы с числами получается неопределенность, числовой переменной присваивается значение NaN. Например когда вы пытаетесь буквенную строку преобразовать в число с помощью метода parseInt который мы разбирали в статье Book Part 3.2, или когда вы пытаетесь нуль разделить на нуль:

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

null

Неопределенность для строки и все остальных типов (кроме числовых и Boolean) задается значением null. Если вы создали переменную типа String, Array, Object и д.р. и не присвоили значение, то значением по умолчанию будет null.

Определить что значение переменной равно или не равно null можно следующими способами:

Запись “array != null” буквально означает “массив не равен null”, т.к. это утверждение не верное(массив РАВЕН null) то мы получаем в результате значение false (ложь). Вторая запись “!array” означает что “массив ложный”, оператор ! означает отрицание, т.е. переменная ложная. Любая переменная содержащая значение null будет ложной и поэтому утверждение “!array” будет истинным(true).

В статье Book Part 6 мы разбирали методы работы с типом данных Object. В частности рассмотрели метод hasOwnProperty который определяет есть ли у объекта ключ с определенным именем. Так вот если вы хотите узнать есть ли определенный ключ и имеется ли значение, нужно воспользоваться оператором отрицания:

undefined

Значение undefined можно получить например если попытаться получить значение у объекта, не имеющего данного ключа. Рассмотрим пример:

Если создать объект, и попытаться получить значение по ключу который еще не был задан, мы так же получим undefined:

Если вы попытаетесь присвоить значение undefined, объектам с заданным типом(например число или строка), то значение преобразуется в значение по умолчанию соответствующее для этих типов, например:

Эту статью прочитали 2111 раз

Скачать исходные коды примеров из книги можно в облаке.
Возникли вопросы по книге? Не стесняйтесь спрашивать в комментариях или любым другим способом на странице Контакты.
Присоединяйтесь к нам в социальных сетях: ВКонтакте, Twitter и Facebook
Понравилась книга? Буду благодарен если вы поделитесь ссылкой с друзьями.



<< Предыдущий раздел | Следующий раздел >>
Книга ActionScript 3.0 - Оглавление

Глава1. Основы языка
Part1. Числовые типы данных (Number, int, unit)
Part1.1. Арифметические операции, объект Math
Part2. Логический тип данных Boolean
Part3. Строковый тип данных String
Part3.1. Класс String и его методы/свойства
Part3.2. Преобразование строки в число и обратно
Part4. Работа с массивами Array
Part4.1. Методы и свойства класса Array
Part4.2. Сортировка массива
Part4.3. Фильтрация массива
Part5. Работа с массивами Vector
Part6. Тип данных Object
Part6.1. Класс Object и преобразования типов
Part7. Передача данных по ссылке
>> Part8. Неопределенные значения NaN, null и undefined
Part9.1. Оператор выбора if-else
Part9.1.1 “? :” – альтернативная конструкция if-else
Part9.2. Оператор выбора switch - case
Part10.1. Оператор цикла for и for in
Part10.2. Операторы цикла while и do
Part11. Таймеры


Комментарии ВКонтакте:




Комментарии Facebook:




Комментарии WordPress: