Ошибка проверки

Я пытаюсь подтвердить подсказку. Когда я вставляю неправильные данные, чтобы сначала доказать это, это работает, но затем я хочу поместить действительные данные, и они не берут их, они продолжают вводить цикл. Если я вставлю правильные данные в первый раз, это работает. И при этом он не позволяет мне проверить число 0, когда я должен взять это. Я не вижу ошибки. Я оставляю код:

(function obtenerMinutos() {
     let min = parseInt(prompt('Ingrese minutos de tardanza'));

     while (isNaN(min) || min == '' || min < 0) {
          obtenerMinutos();
     }

     return min;
})();

let minutos = obtenerMinutos();
2
задан 27.11.2019, 19:19
1 ответ

Хороший Mmmmm intentarГ© объяснять ошибку и как logrГ© исправлять это:

у Тебя Есть один while, который он повторяет бесконечные разы, когда вошедшая стоимость - invГЎlido:

while (isNaN(min) || min == '' || min < 0) {
     obtenerMinutos();
}

Что-то, что делает, что despuГ©s, что вводит стоимость invГЎlido в этот случай 0, начинается счастье iteraciГіn, и когда ты хочешь ввести в компьютер действительную стоимость Г©ste, не подчиняется тебя, так как while предыдущий он продолжает выполнять. (ГЛАЗ это с моей точки зрения, как я вижу, что происходит ошибка) возможно, спутал меня и я уверен, что, если я путаю кто-то я corregirГЎ в комментариях вещь, за которую я благодарен.

Однако для того, чтобы оно ты функционировало, ты смог бы добавлять просто один return внутри while для того, чтобы она iteraciГіn он сломался и asГ - инициализируйтесь снова следующей формы:

(function obtenerMinutos() {
     let min = parseInt(prompt('Ingrese minutos de tardanza'));

     while (isNaN(min) || min == '' || min < 0) {
          return obtenerMinutos();
     }

     return min;
})();

let minutos = obtenerMinutos();

ProbГ© cГіdigo и оно я функционирует, я надеюсь, что это результат, который ты ждешь ;) Привет.

0
ответ дан 01.12.2019, 10:48