TwitterのTL上でにわかに話題になっていた。parseIntは引数をstringにしてからint変換するので、小数点以下の切り捨てには使わん方が良いというお話。
> parseInt(0.000001) 0 > parseInt(0.0000001) 1
これは以下のように処理されているのと同じ
> (0.000001).toString(); '0.000001' > parseInt('0.000001'); 0 > (0.0000001).toString(); '1e-7' > parseInt('1e-7'); 1
ES2015対応のブラウザやnode v4系以降ならば、代わりに Math.trunc を使うと良いと思います。
元来 parsetInt は文字列を解析して整数を返す関数で、小数点以下を切り捨てる関数ではありません。
プログラミングの世界でparseという言葉は、主に文字列を解析して何かをする機能に対して使われる単語です。関数の正確な仕様を把握していなかったとしても(もちろん把握している方が良いのですが)、parseホゲホゲという関数に数値を渡すのは間違ってるのでは?と判断できる感覚を身に付けてしまうと良いと思います。