我想创建一个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>
答案 0 :(得分:4)
@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>
您的代码/逻辑中存在一些错误:
else
之后有while
? else
仅与if
子句一起使用。while
循环中的名称,但不会将其分配给name
变量。如果您未分配到name
,name
变量将如何更新并导致while
循环退出?答案 1 :(得分:3)
绝不滥用您网页中的prompt
,alert
和confirm
。
我可以写很多关于此的内容,但我会在此留下这个图片。
用户可以轻松地通过对话框静音您的注意力,因此您花费的额外努力就会被浪费。
答案 2 :(得分:0)
看看这是否满足您的需求!
confirm("Wanna play?");
var name = prompt("What's your name?");
while (name.length == 0) {
name = prompt("Please, insert a name to proceed!");
}
document.write("Welcome to my game " + name + "!" + "<br>");