JavaScriptのparseIntは頭ゼロの数値文字列だとゼロを返すことがある。
var i = parseInt('08'); // 0
で、ああ、JavaScriptのparseIntは頭ゼロだと読めないんだな、とずっと思っていた。
違ってた。
頭ゼロだと8進と解釈するらしい。'0x'だと16進。故、'08'、'09'は解釈できないので0になると。第二引数に基数が指定できるので、10進なら10と指定してやる。
var i = parseInt('08', 10); // 8
くらだらない話なのだが、よく調べずに、思い込みでやんのはよくないな。と、反省した。