与えられた値が数値かどうかの判定 (NaN)
こうやるのが正。かな?
if ( isNaN( parseInt( number ) )
isNaNは引数がNaNかどうかをチェックする関数なのですが、
NaN(Not a Number)って何??といったら、NumberオブジェクトのNaNプロパティらしいです。
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Properties:NaN
そして、このプロパティの値は、代入できないし、比較できないのだそうです。
NaN is always unequal to any other number, including NaN itself; you cannot check for the not-a-number value by comparing to Number. NaN. Use the isNaN function instead. NaNはどんな数字に対してもイコールではありません。たとえ、自分自身に対しても。 だから、NaNを数字と比較しちゃだめです。変わりに、isNaN関数を使ってね。
だから、これもこれもだめ。
if ( parseInt( number ) == Number.NaN )
Number.NaN == Number.NaN // false
なるほど。