Page 82 - 6105
P. 82
Це працює, але для наочності краще використовувати isNaN (n).
Ніякі математичні операції в JavaScript не можуть привести до помилки або
«обрушити» програму. У гіршому випадку результат буде NaN.
Отже, в JavaScript є звичайні числа і три спеціальних числових значення:
NaN, Infinity і -Infinity.
Той факт, що вони, хоч і особливі, але числа, можна продемонструвати
роботою оператора +:
var value = prompt ( "Введіть Infinity", 'Infinity');
var number = + value;
alert (number); // Infinity, плюс перетворив рядок
"Infinity" до такого "числа"
Для того щоб відрізнити «звичайні» числа від спеціальних значень, існує
функція isFinite. Функція isFinite (n) перетворює аргумент до числа і повертає
true, якщо це не NaN / Infinity / -Infinity:
alert (isFinite (1)); // true
alert (isFinite (Infinity)); // false
alert (isFinite (NaN)); // false
Більшість арифметичних операцій і математичних функцій перетворять
значення в число автоматично. Для того щоб зробити це явно, зазвичай перед
значенням ставлять унарний плюс '+':
var s = "12.34";
alert (+ s); // 12.34
При цьому, якщо рядок не є в точності числом, то результат буде NaN:
alert (+ "12test"); // NaN
Функція parseInt, крім цього, дозволяє вказати систему числення, тобто
зчитувати числа, задані в шістнадцятковій і інших системах числення:
alert (parseInt ( 'FF', 16)); // 255
Для перевірки рядка на число можна використовувати функцію isNaN (str).
81