isNaN関数の落とし穴
は?nullも空文字も空白も数値なの?
isNaN(null) => false isNaN('') => false isNaN(' ') => false isNaN(undefined) => true
というわけで入力された値が数値かどうかを調べたい時などは isNaN 関数だけではとても使い物にならないので、 trim 後に有効な長さがあるか調べたり正規表現で調べる必要がある。
参考:JavaScript のムカつくコードを集めたサイト
http://wtfjs.com/