javascript - 如何创建带有警报和提示的 while 循环以避免空输入?

标签 javascript loops while-loop

我想创建一个 while 循环来避免空输入。这是我的代码,我希望它循环,以便用户获得相同的警报,然后提示窗口,直到他/她写下姓名/用户名。关于我做错了什么以及如何解决它的任何想法?

<script type="text/javascript">
confirm("Wanna play?");
var name = prompt("What's your name?");
while (name.length == 0) {
    alert("Please enter your name!");
    prompt("What's your name?");
}
else {
    document.write("Welcome to my game " + name + "!" + "<br>");
}
</script>

最佳答案

@Renan 建议正确。尽管如此,如果您需要当前代码工作,您可以试试这个:

<script type="text/javascript">
confirm("Wanna play?");
var name = prompt("What's your name?");
while (name.length == 0) {
    alert("Please enter your name!");
    name = prompt("What's your name?");
}
document.write("Welcome to my game " + name + "!" + "<br>");
</script>

您的代码/逻辑中存在一些错误:

  1. 为什么在while之后有elseelse 仅与 if 子句一起使用。
  2. 您在 while 循环中请求名称,但没有将其分配给 name 变量。如果您不分配给 namename 变量将如何更新并导致 while 循环退出?

关于javascript - 如何创建带有警报和提示的 while 循环以避免空输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37708465/

相关文章:

java - 在 while 循环中比较 char --- 条件从未满足

loops - 循环停止整个测试

mysql删除和更新使用带有多个项目提交按钮的复选框

java - 在Java中,是否可以使用某种while循环(或任何东西)来确定输入提示的数量?

JavaScript - 过滤具有相似对象的两个数组

java - 将循环打印到表中

Java延迟/等待

javascript - 如何在单击按钮时显示 2 行 1 列的表格

javascript - 实现实时传感器仪表板

javascript - 警告 : validateDOMNesting(…): <form> cannot appear as a descendant of <form> by using semantic-ui-react modal