Ма
Мадина

Почему как ставлю восклицательный знак while (!isNaN(itemincome)), так первый ввод перестает работать.

Почему как ставлю while (isNaN(itemincome)) восклицательный знак while (!isNaN(itemincome)), так первый ввод перестает работать.
Суть проверка на ввод (1ый все что угодно кроме цифр, 2ой только цифры)

asking: function() {

if(confirm('Есть ли у Вас дополнительный источник дохода?')){

let itemincome;
while (!isNaN(itemincome))
{itemincome = prompt('Какой у Вас доп. заработок?', 'Таносить по галактикам');}

let cashincome;
while (isNaN(parseFloat(cashincome)) || cashincome < 0)
{cashincome = prompt('Сколько в месяц зарабатываете на этом?', '10000');}
appData.income[itemincome] = cashincome;
};

ИП
Ирина Петрашова

let itemincome;
!isNaN(itemincome)

!isNaN(undefined)

!true

false

Даже если решить эту проблему, !isNaN("dffjlkf1") всё равно выдаст false, "все что угодно кроме цифр" не так проверяют.

while(!itemincome || /\d/.test(itemincom)) { // ...

!itemincome даст true для undefined / null / ""
/\d/.test(itemincom) — \d от слова digit, цифра: будет true, если в строке найдется хотя бы одна цифра.

Похожие вопросы
Не работает восклицательный знак (сочитание Shift + 1) на клавиатуре
Почему возле Видеоконтролер (VGA-совместимый) стоит восклицательный знак?!??
Почему возле Видеоконтролер (VGA-совместимый) стоит восклицательный знак?
Почему возле Видеоконтролер (VGA-совместимый) стоит восклицательный знак???
Почему возле Видеоконтролер (VGA-совместимый) стоит восклицательный знак?!?? "!!!!
в проводнике ккрасный восклицательный знак рядом с двд-ромом! и двд ром не работает! почему?
Почему у меня планшет заходит в приложение но через несколько секунд появляется восклицательный знак
Ребята подскажите в чем причина. почему на приборной панели горит восклицательный знак
рекавери не работает, когда пытаюсь заити появляется красный триугольник с восклицательны знаком. что делать
почему "ПОСУДА", пишется с одним С, слитно и без восклицательного знака?