Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.05.2010, 11:50
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

isNaN(x) === isNaN(+x)
isNaN(x) === isNaN(+x)

Всегда true будет?
Ответить с цитированием
  #2 (permalink)  
Старый 28.05.2010, 11:53
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Очевидно, да.
Ответить с цитированием
  #3 (permalink)  
Старый 28.05.2010, 12:00
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Что-то я засомневался на секунду. По крайней мере, нигде не видел утверждения, что isNaN и Number используют один и тот же алгоритм для распознавания чисел из строк.
Ответить с цитированием
  #4 (permalink)  
Старый 28.05.2010, 12:03
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

isNaN принимает Number, поэтому всё, что не число, приводится к нему. + делает то же самое.
Ответить с цитированием
  #5 (permalink)  
Старый 28.05.2010, 12:08
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Kolyaj
всё, что не число, приводится к нему
логично звучит. Спасибо.
Ответить с цитированием
  #6 (permalink)  
Старый 29.05.2010, 00:07
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

ну можно привести следующий феерический пример
var a = {valueOf: function(){
    if( ! this.i )
        this.i = 0;
    this.i++;
    return   this.i%2   ? NaN   : 1;
}}

alert(isNaN(a) === isNaN(+a));

а дальше, либо забить, либо сказать, зачем это нужно
Ответить с цитированием
  #7 (permalink)  
Старый 30.05.2010, 02:45
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

x-yuri,


Против лома нет приема, окромя другого лома:
window.isNaN = function(){return false}
Ответить с цитированием
  #8 (permalink)  
Старый 30.05.2010, 09:55
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от subzey
окромя другого лома
window.isNaN = function() { return Math.random() > 0.5; }
Ответить с цитированием
  #9 (permalink)  
Старый 30.05.2010, 10:06
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Сообщение от subzey Посмотреть сообщение
x-yuri,


Против лома нет приема, окромя другого лома:
window.isNaN = function(){return false}
window.isNaN = function(){return false}
alert(isNaN('2') === isNaN(+'2'));
Ответить с цитированием
  #10 (permalink)  
Старый 30.05.2010, 11:08
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Kolyaj
Math.random()
зачем нам элемент случайности?
надо чтобы наверняка
window.isNaN = function(){return NaN}
alert(isNaN('2') === isNaN(+'2'));
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Учебник по js от ExtJS на русском mycoding ExtJS 25 09.06.2010 17:36
Ajax разбор метода mycoding jQuery 14 21.05.2010 10:57