Задание: через цикл while запрашивать у юзера число до тех пор, пока оно не будет соответствовать условиям.
Непосредственно юзера мы спрашиваем "А сколько денег Вы хотите накопить?" Соответственно, ответом должно быть число и это число должно быть больше 0 (иначе какой смысл...)
Проблема в том, что если прописывать два условия в
while (isNaN(a) && a<=0)
цикл завершается после 1 итерации и в результате будет NaN.
Как я понял, проблема в сравнении NaN и 0. Оно выдает False и цикл завершается.
Поэтому нацарапал что-то такое и оно в общем-то работает:
let purpose = +prompt ('Какую сумму Вы хотите накопить?', "Например, 40000")
if (isNaN(purpose)) purpose = 0;
while (purpose <= 0) {
purpose = +prompt('Какую сумму Вы хотите накопить? Пожалуйста, вводите число без лишних знаков, пробелов и букв', "Например, 40000");
if (isNaN(purpose)) purpose = 0;}
Но подозреваю, что есть решение элегантнее...
Поделитесь, пожалуйста, своими соображениями. Я только учусь и мне бы это очень помогло.