isNaN(x) === isNaN(+x)
isNaN(x) === isNaN(+x)
Всегда true будет? |
Очевидно, да.
|
Что-то я засомневался на секунду. По крайней мере, нигде не видел утверждения, что isNaN и Number используют один и тот же алгоритм для распознавания чисел из строк.
|
isNaN принимает Number, поэтому всё, что не число, приводится к нему. + делает то же самое.
|
Цитата:
|
ну можно привести следующий феерический пример
var a = {valueOf: function(){
if( ! this.i )
this.i = 0;
this.i++;
return this.i%2 ? NaN : 1;
}}
alert(isNaN(a) === isNaN(+a));
а дальше, либо забить, либо сказать, зачем это нужно |
x-yuri,
:D Против лома нет приема, окромя другого лома:
window.isNaN = function(){return false}
|
Цитата:
window.isNaN = function() { return Math.random() > 0.5; }
|
Цитата:
window.isNaN = function(){return false}
alert(isNaN('2') === isNaN(+'2'));
|
Цитата:
надо чтобы наверняка
window.isNaN = function(){return NaN}
alert(isNaN('2') === isNaN(+'2'));
|
| Часовой пояс GMT +3, время: 23:06. |