文字列を数値に変化するときにつかうparseInt()ですが、使用するときには第二引数まで指定した方がよさそうな感じだったのでメモ。

parseInt()は文字列の引数をパースし、指定された基数の整数を返します。 第一引数が文字列、そして第二引数が、数値の基数を表します。

つまりこんな感じになります。

parseInt("F", 16); //16進数
parseInt("15", 10); //10進数
parseInt("17", 8); //8進数
parseInt("1111", 2); //2真数

//パースされた値はすべて15になる。

第二引数を指定しない場合、 第一引数が “0x” で始まっている場合、基数は 16(16 進表記) 他の値で始まっている場合、基数は、10(10進表記)となります。

そして厄介なのがECMAScript3では第一引数が"0" で始まっている場合、基数は 8 (8 進表記)になってしまいます。(ただしこの使い方は非推奨) ECMAScript5から0で始まっても8進数にはならないようになっているようです。

IE8以下はECMAScript3で動くため、対応ブラウザに応じて第二引数を指定する必要があります。 基数を指定する分には特に何の問題もないので、普段からつけとくようにした方がベターかもしれません。

parseInt()に関する詳しい内容は下記のリンクを参考に parseInt() - JavaScript | MDN