Свойства объекта Number

Создание объекта Number

Как уже говорилось выше, в JavaScript определены так называемые простые типы данных: числовые, строковые и булевские. В отличие от объектов, значения простым переменным задаются с помощью операций присваивания, и для них существует строго заданный набор операций (арифметических, строковых или логических). Однако для простых типов часто бывает необходимым, как и для объектных типов, определить некоторые свойства (например, длину строки) и функции (например, метод определения символа в заданной позиции строки).

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

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

var имя-переменной = new Number(значение);

При прямом вызове функции-конструктора Number:

var имя-переменной = Number(значение);

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

Если значение является правильным строковым представлением числа, строка будет преобразована в число и переменной с именем имя-переменной будет присвоено значение числа. В противном случае переменной будет присвоено значение NaN.

где имя-переменнной – имя переменной типа Number, а значение – строка. Можно также

Для объекта Number определены следующие свойства:

· MAX_VALUE – максимальное число (»1,79×10308);

· MIN_VALUE – минимальное число (»5,00×10-324);

· NaN – специальное нечисловое значение (Not a Number);

· NEGATIVE_INFINITY – значение, меньшее MIN_VALUE, которое трактуется как отрицательная бесконечность;

· POSITIVE_INFINITY – значение, большее MAX_VALUE, которое трактуется как положительная бесконечность.

Все свойства являются статическими, т.е. при их использовании задается имя типа – Number, а не имя созданного объекта.

Свойство Number.NaN имеет значение, отличное от любого числового значения, а также от значения NaN, поэтому его нельзя использовать для проверки, имеет ли переменная нечисловое значение – для этой цели необходимо использовать функцию isNaN()(см. 4.14.11.3.1). Свойство Number.NaN можно использовать только для присвоения переменной нечислового значения.

Пример 4.4.47. Использование свойств объекта Number:

1. // Ввод значения a как строки

aString = prompt("Введите a: ","");

// Преобразование a в число

a = new Number(aString);

b = 5.6e295; // Задание значения b

// Если значение a - числовое

if(!isNaN(a))

{

// Определение c - произведения a на b

c = a * b;

// Если c больше максимального значения

if(c > Number.MAX_VALUE)

// Вывод сообщения об ошибке

alert("Значение c больше максимального значения");

else

// Вывод значения c

alert("c=" + c);

// Если c равно положительной бесконечности

if(a * b == Number.POSITIVE_INFINITY)

// Вывод сообщения об ошибке

alert("Значение c - положительная бесконечность");

}

else

// Вывод сообщения об ошибке

alert("Значение a '" + aString + "' - не число");

Этот фрагмент вычисляет произведение двух числовых переменных – a и b. Поскольку b имеет большое значение, выполняется проверка превышения произведением максимального значения и его равенства положительной бесконечности.

Вывод в случае, когда произведение превышает максимальное значение и равно положительной бесконечности, имеет следующий вид:

   

2. // Присвоение значения переменной x

x = -5;

// Если x < 0

if(x <= 0)

// x – не число

x = Number.NaN;

// Если x не число

if(isNaN(x))

// Вывод сообщения об ошибке

alert("Неверное значение x");

В этом фрагменте выполняется проверка значения переменной x, которой перед этим было присвоено значение -5. Поскольку значение x – отрицательное, ей присваивается значение NaN. В дальнейшем для проверки этой переменной можно использовать функцию isNaN().

Вывод этого фрагмента имеет следующий вид:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: