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, время: 02:55. |