2016-01-27 2 views
0

Вопрос: Как постоянно запрашивать пользователя, когда возраст недействителен (ниже 0выше 200 или не-номер)?
Петля, которая запрашивает пользователя до действительного ввода

var userAge = prompt("Please enter your age"); 
while (isNaN(userAge)){ 
    alert("That's not a number, please retry."); 
    var userAge = prompt("Please re-enter your age."); 
} 

if (userAge == 0){ 
    alert("So you're a baby!"); 
} 
while(userAge < 0 || userAge >= 200){ 
    alert("I think you may be lying about your age."); 
    var userAge = prompt("Please re-enter your age, don't lie this time."); 
    {continue} 
} 

if (userAge > 0 || userAge < 200){ 
    alert("That's a good age."); 
} 

</script> 
+0

так в чем проблема с кодом? – gurvinder372

ответ

1

Вы можете вернуться из цикла While с break заявление. Например:

var userAge = prompt("Please enter your age"); 
while (true) { 
    if (isNaN(userAge)) { 
     alert("That's not a number, please retry."); 
    } else if (userAge < 0 || userAge >= 200) { 
     alert("I think you may be lying about your age."); 
    } else { 
     break; 
    } 
    var userAge = prompt("Please re-enter your age."); 
} 
if (userAge == 0) { 
    alert("So you're a baby!"); 
} else { 
    alert("That's a good age."); 
} 
+0

Спасибо за помощь. Когда userAge = 0, почему появляется предупреждение «Итак, вы ребенок» и «Это хороший возраст». появляются? – fasteddie

+0

@fasteddie появляется только одно из этих предупреждений – madox2

+0

Вы правы, еще раз спасибо. – fasteddie

Смежные вопросы