10,10.12
Это не число 1010.12
, это число 10
, оператор запятой и число 10.12
.
Запятые не являются частью буквального синтаксиса JavaScript.
Однако, в вашем случае вы передаете два аргумента parseInt
, первый должен быть строкой для преобразования (но JS преобразует ее в стригг), а второй - основание - основание числа - которое должно быть целым числом.
Таким образом, преобразование типов JS приведет к:
var x = parseInt('10', 10);
Что, конечно, 10.
После обновления вопроса
var x = parseInt("10,10.12");
Поскольку запятая не является частью числовых литералов JS, анализ останавливается на запятой, потому что это не символ, который может появляться в числе.
Так что ответ по-прежнему 10.