【问题标题】:Loop that prompts user until valid input [closed]提示用户直到有效输入的循环[关闭]
【发布时间】:2016-05-04 20:28:29
【问题描述】:

问题:年龄无效(小于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>

【问题讨论】:

  • 那么你的代码有什么问题?

标签: javascript loops if-statement while-loop do-while


【解决方案1】:

您可以使用break 语句从while 循环返回。例如:

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.");
}

【讨论】:

  • 感谢您的帮助。当 userAge = 0 时,为什么警报“所以你是个婴儿”和“那是个好年龄”。出现?
  • @fasteddie 仅出现这些警报之一
  • 你是对的,再次感谢。
猜你喜欢
  • 2015-05-15
  • 1970-01-01
  • 2017-11-30
  • 1970-01-01
  • 2018-07-15
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
  • 2023-03-16
相关资源
最近更新 更多