Можно создать дубликат:
Workarounds for JavaScript parseInt octal bugПочему parseInt (013) возвращает 11?
Вот jsfiddle, который показывает поведение:
Довольно простой вопрос, какие идеи?
код просто:
parseInt(013)
Можно создать дубликат:
Workarounds for JavaScript parseInt octal bugПочему parseInt (013) возвращает 11?
Вот jsfiddle, который показывает поведение:
Довольно простой вопрос, какие идеи?
код просто:
parseInt(013)
Потому что, если ваш номер начинается с «0», то это рассматривается как восьмеричное, таким образом
'013' = 1 * 8 + 3 = 11
parseInt() ожидает строку. Вы предоставили octal, 013
.
Использование:
parseInt('013', 10)
Примечание: Я хотел бы также стимулировать прохождение десятичную, для ясности.
Число 013
интерпретируется как восьмеричное. Это не имеет никакого отношения к parseInt
; фактически, var a = 013;
будет иметь a
be 11
.
[Duplicate] (http://stackoverflow.com/a/850346/27614) –
https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Values,_variables,_and_literals#Integers – deceze