Как опознать число?
В продолжение темы «Как опознать RegExp»
Известно, что в JavaScript NaN (Not a Number) принадлежит типу number: alert(typeof NaN); Как распознать, что каждая переменная является любым числом, но не NaN и не Infinity, как должна выглядеть функция isNumber?
var a = NaN;
var b = 1;
var c = {};
var d = Infinity;
function isNumber(x) {
// ...
}
alert([isNumber(a), isNumber(b), isNumber(c), isNumber(d)]);
// Должно быть: false, true, false, false
|
А бесконечности?
|
Если не думая, то так: x < 0 || x > 0 || x == 0
причем вариант x < 0 || x > -1 не годится, т. к. null тоже будет числом. |
Цитата:
Riim, твой вариант не срабатывает с Infinity. |
Я имел в виду их пропускать или нет?
|
Цитата:
|
Octane,
то две "m" то одна "i", что за фигня? Цитата:
|
Т.е. isNumber(Number.NEGATIVE_INFINITY) должен быть true?
|
Цитата:
Цитата:
блин без бесконечности все красивее выходило :( |
Понятно, пойду помолчу :)
|
| Часовой пояс GMT +3, время: 23:38. |