JavaScriptのparseIntメソッドは0から始まる文字列をいれると8進数変換してしまう仕様だった。

ブラウザのアドレスバーで試せます。
javascript:alert(parseInt(’08’));
これは 8 ですが
javascript:alert(parseInt(’09’));
は 0 で
javascript:alert(parseInt(‘010’));
は 8 です。

Javaの Integer.parseInt では ’010′ を代入すると 10 になるので
そのままだと思っていたら大間違いでした・・・

Integer.parseInt(‘010’, 8); と同じ挙動ということですね。

この記事が気に入ったら
いいね ! しよう

Twitter で