Ответ 1
isNaN
принимает целое число в качестве аргумента, поэтому JS преобразует ""
в 0
parseInt
принимает строку в качестве аргумента, поэтому пустая строка не является числом
Есть что-то странное.
Почему
с isNaN("")
Я получаю False
Но
с parseInt("")
я получаю NaN
?
isNaN
принимает целое число в качестве аргумента, поэтому JS преобразует ""
в 0
parseInt
принимает строку в качестве аргумента, поэтому пустая строка не является числом
Это потому, что ""
эквивалентен нулю в JavaScript. Попробуйте "" == 0
. Это означает, что если вы попытаетесь оценить его в численном уравнении, оно будет выглядеть как 0. Когда вы проанализируете его, с другой стороны, он понимает, что там ничего нет.
В качестве альтернативы parseInt
вы можете использовать Math.floor
. Это даст вам 0
для ""
.