Javascript.RU

isNaN

Синтаксис

isNaN(testValue)

Аргументы

testValue
значение на проверку

Описание, примеры

Метод isNaN пытается преобразовать переданный параметр в число. Если параметр не может быть преобразован, возвращает true, иначе возвращает false.

Эта функция полезна, так как значение NaN не может быть проверено операторами эквивалентности.

Значение x == NaN и x === NaN всегда false для любого x, даже если x=NaN.

1 == NaN // false
NaN == NaN // false
isNaN(NaN) // true
isNaN("12") // false

Автор: Trivium (не зарегистрирован), дата: 7 октября, 2009 - 17:15
#permalink

а NaN это строковое значение или какое? как на него проверять без функции isNaN?
можно так обратиться if (val == "NaN") или только if (val == NaN) ?


Автор: Илья Кантор, дата: 7 октября, 2009 - 18:10
#permalink

NaN - это специальное значение. Без функции isNaN проверить нельзя, == не сработает.


Автор: zloydadka (не зарегистрирован), дата: 15 февраля, 2011 - 17:05
#permalink

самая банальная проверка на NaN это: NaN == NaN всегда будет false
т.е. переменная не равна сама себе
var a = NaN;
isNaN(a) // true
a!=a // true

лучше не пользоваться isNaN, поскольку передаваемое в функцию значение, не всегда будет преобразовываться в число:
var a = 'test';
isNaN('test') // true !!!!
a!=a // false


Автор: Гость (не зарегистрирован), дата: 26 января, 2017 - 11:30
#permalink

Идиот. NaN - не число


Автор: Гость (не зарегистрирован), дата: 6 февраля, 2017 - 09:13
#permalink

NaN -- число (number) -- читай доку.
typeof NaN -> "number"


Автор: Гость (не зарегистрирован), дата: 25 марта, 2010 - 07:57
#permalink

Спасибо! Очень полезный сайт!


Автор: Gosha-bor (не зарегистрирован), дата: 26 ноября, 2010 - 23:41
#permalink

Очень нужный сайт! Никогда не догадался бы, что объязательно нужно делать так!


Автор: Гость (не зарегистрирован), дата: 13 июля, 2012 - 13:47
#permalink

isNaN('') будет false


Автор: az (не зарегистрирован), дата: 14 января, 2013 - 18:09
#permalink

isNaN(null) также false


Автор: Гость (не зарегистрирован), дата: 9 сентября, 2013 - 15:51
#permalink

кэп?


Автор: Гость (не зарегистрирован), дата: 13 февраля, 2013 - 10:23
#permalink

чап чап


Автор: Гость (не зарегистрирован), дата: 29 ноября, 2013 - 19:13
#permalink

Проверить переменную x на NaN можно так: x !== x. Это выражение вернет true тогда и только тогда когда x есть NaN


Автор: web.anvyd, дата: 22 октября, 2015 - 02:55
#permalink

единственный верный вариант, своего рода костыль


Автор: Гость (не зарегистрирован), дата: 6 февраля, 2015 - 11:33
#permalink

isNaN(undefined); //true


Автор: Гость (не зарегистрирован), дата: 17 февраля, 2015 - 14:45
#permalink

действительно
isNaN(undefined); //true

И Как сравнить теперь undefined и Nan?


Автор: web.anvyd, дата: 22 октября, 2015 - 02:51
#permalink

isNaN("Hi") // true
Если проверить любую строку, вернется true


Автор: RadChand, дата: 27 ноября, 2015 - 15:48
#permalink

Не любую
isNaN("12") // false
isNaN("0x12") // false
isNaN("x12") // true
isNaN("12x") // true


Автор: Гость (не зарегистрирован), дата: 1 апреля, 2016 - 17:56
#permalink

Если вопрос в корректности использования isNaN(), то...

function strIsNumber( s )
{
return s != null && s.trim() != '' && !isNaN( Number( s ) );
}

Возвращает true, если значение s может быть преобразовано в число, иначе - false (кэп)

Тоже костыль, конечно...
Но, по крайней мере для таких значений s, как undefined, null и 'test' (см. выше) отработало корректно.


Автор: feuer81 (не зарегистрирован), дата: 31 мая, 2016 - 17:00
#permalink

Как задать в функции отсутствие аргументов?


Автор: Гость (не зарегистрирован), дата: 28 июня, 2016 - 14:08
#permalink

Просто так. function foo()


Автор: ПРОГРАММИСТ (не зарегистрирован), дата: 21 сентября, 2016 - 11:02
#permalink

ПФФФ ЛЕГКТОНЯ))))))_


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
1 + 3 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Реклама
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum