Data structures Flashcards

(5 cards)

1
Q

Infinity

A

alert( 1 / 0 ); // Infinity
alert( 12345 / 0 ); // Infinity

Infinity – особенное численное значение, которое ведет себя в точности как математическая бесконечность ∞.

Infinity больше любого числа.
Добавление к бесконечности не меняет её.

alert( Infinity > 1234567890 ); // true
alert( Infinity + 5 == Infinity ); // true

Бесконечность можно присвоить и в явном виде: var x = Infinity.

Бывает и минус бесконечность -Infinity:

alert( -1 / 0 ); // -Infinity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

NaN

A

Если математическая операция не может быть совершена, то возвращается специальное значение NaN (Not-A-Number).

Например, деление 0/0 в математическом смысле неопределено, поэтому его результат NaN:

alert( 0 / 0 ); // NaN

Значение NaN используется для обозначения математической ошибки и обладает следующими свойствами:

Значение NaN – единственное, в своем роде, которое не равно ничему, включая себя.

Следующий код ничего не выведет:

if (NaN == NaN) alert( “==” ); // Ни один вызов
if (NaN === NaN) alert( “===” ); // не сработает

Значение NaN можно проверить специальной функцией isNaN(n), которая преобразует аргумент к числу и возвращает true, если получилось NaN, и false – для любого другого значения.

Значение NaN «прилипчиво». Любая операция с NaN возвращает NaN.

alert( NaN + 1 ); // NaN

Если аргумент isNaN – не число, то он автоматически преобразуется к числу.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

isFinite(n)

A

В JavaScript есть обычные числа и три специальных числовых значения: NaN, Infinity и -Infinity.

Функция isFinite(n) преобразует аргумент к числу и возвращает true, если это не NaN/Infinity/-Infinity:

alert( isFinite(1) ); // true
alert( isFinite(Infinity) ); // false
alert( isFinite(NaN) ); // false

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Преобразование к числу

A

Большинство арифметических операций и математических функций преобразуют значение в число автоматически.

Для того, чтобы сделать это явно, обычно перед значением ставят унарный плюс ‘+’

При этом, если строка не является в точности числом, то результат будет NaN:

alert( +”12test” ); // NaN

Единственное исключение – пробельные символы в начале и в конце строки, которые игнорируются

isNaN преобразовывает к числу 0 также:
false, true, “”, null

Продвинутая проверка на число:

function isNumeric(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Форматирование чисел

A

Форматирование

Для красивого вывода чисел в стандарте ECMA 402 есть метод toLocaleString():

var number = 123456789;

alert( number.toLocaleString() ); // 123 456 789

How well did you know this?
1
Not at all
2
3
4
5
Perfectly