Почему parseInt ('08 ') дает 0, тогда как parseInt ('07') дает 7
Возможный дубликат:
Методы обхода для JavaScript parseInt восьмеричной ошибки
Я работаю над javascript, и мне кажется, что это странно, что функция javascript parseInt ('08 ') возвращает 0, а parseInt ('07') возвращает 7.
это поведение похоже на Firefox.
parseInt ('08 ') возвращает 8 в IE, но 0 в Firefox..
Почему? Я хочу, чтобы parseInt ('08 ') возвращал 8, как и ожидалось, и попадал в IE.
Ответы
Ответ 1
Да, я наткнулся на это раньше. Это действительно странно, потому что некоторые браузеры интерпретируют это так, как вы хотите разобрать его в базе 8. Рассмотрим следующую статью:
http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256C85006A6604
в основном, вы должны сказать синтаксическому анализатору, чтобы использовать номера базы 10:
parseInt('08', '10');