Когда будет возвращен NaN и когда будет возвращен 0?
console.log(parseInt('3',2)); // NaN
console.log(parseInt('09',8)); // 0
Когда будет возвращен NaN и когда будет возвращен 0?
console.log(parseInt('3',2)); // NaN
console.log(parseInt('09',8)); // 0
parseInt
будет анализировать вводимые символы по одному, пока не найдет тот, который не может быть найден, и вернет допустимые символы.3
не является значением base-2. Поскольку это первый символ, синтаксический анализ завершается. Общее допустимое значение равно нулю. РезультатNaN
. С09
он анализирует0
, который является допустимым значением base-8. Эквивалент в десятичной системе равен0
. Тогда9
не является допустимым значением с основанием 8. Разбор останавливается. Всего действительных проанализированных результатов:0
. Точно так же, если у вас естьparseInt("50 dollars")
, результат будет50
илиparseInt("3.50")
будет3
- в обоих случаях берутся действительные числа в начале. - person VLAZ   schedule 29.01.2021parseInt('3',2)
— это NaN, потому что3
не является цифрой в базе 2 (двоичной). Эти цифры в двоичном формате только0
и1
. ... где asparseInt('13',2)
возвращает int1
, потому что, как упоминает @VLAZ, он прекращает анализ следующего недопустимого значения места, в этом случае3
- person GetSet   schedule 29.01.2021