我想创建一个 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>
您的代码/逻辑中存在一些错误:
- 为什么在
while
之后有else
?else
仅与if
子句一起使用。 - 您在
while
循环中请求名称,但没有将其分配给name
变量。如果您不分配给name
,name
变量将如何更新并导致while
循环退出?
关于javascript - 如何创建带有警报和提示的 while 循环以避免空输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37708465/