Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我想用HTML和JavaScript做一个While循环,但是用我当前的代码,循环并没有结束_Javascript_Html_If Statement_While Loop - Fatal编程技术网

我想用HTML和JavaScript做一个While循环,但是用我当前的代码,循环并没有结束

我想用HTML和JavaScript做一个While循环,但是用我当前的代码,循环并没有结束,javascript,html,if-statement,while-loop,Javascript,Html,If Statement,While Loop,目前,循环一直在运行。似乎我的else函数没有被正确读取。有人能帮忙吗 另外,当我在Google Chrome上运行它时,首先会弹出一个“Hello Null”框,表示window.alert函数正在自动运行 <html> <head> <title>JavaScript Example</title> <script> "use strict"; function start() {

目前,循环一直在运行。似乎我的else函数没有被正确读取。有人能帮忙吗

另外,当我在Google Chrome上运行它时,首先会弹出一个“Hello Null”框,表示window.alert函数正在自动运行

<html>
  <head>
    <title>JavaScript Example</title>
    <script>
      "use strict";
        function start() {
          let ino = window.prompt("What is your name?");
          window.alert("Hello " + ino);
          while (ino != "end") {
            let ino = window.prompt("What is your name?");
            window.alert("Hello " + ino);}
        else {window.alert("go away now mate"); }
            }

    </script>
  </head>
  <body onLoad="start()"> 
    <p>Javascript Test Page</p>
  </body>
</html>

JavaScript示例
“严格使用”;
函数start(){
let ino=window.prompt(“您叫什么名字?”);
window.alert(“你好”+ino);
while(ino!=“end”){
let ino=window.prompt(“您叫什么名字?”);
window.alert(“Hello”+ino);}
else{window.alert(“走开,伙计”);}
}
Javascript测试页面


在我看来,您似乎在尝试提示,直到用户将自己标识为“结束”。 如果是这样的话,您可能需要在提示符附近执行do

let name;
do {
    name = window.prompt....;
} while (name !== 'end');
请注意,在没有明确定义的用例的情况下,您混合了两个目标。如果你想让他们走开,你应该使用while循环吗?一个while循环听起来像是你想继续问这个问题。if…else使您看起来想验证他们的输入,如果不是“end”,则拒绝。如果您的实际目标是询问用户两次,则保留一个计数,并在while循环中使用该计数作为条件<代码>while(name!=“end”&&count<3)。您可以在while循环完成后告诉用户“buzz off”,并且名称仍然不是
end


您的另一个问题是,它在页面加载时立即显示提示是有意义的,因为您正在将其绑定到onLoad事件。是吗?

在我看来,您是在试图提示,直到用户将自己标识为“结束”。 如果是这样的话,您可能需要在提示符附近执行do

let name;
do {
    name = window.prompt....;
} while (name !== 'end');
请注意,在没有明确定义的用例的情况下,您混合了两个目标。如果你想让他们走开,你应该使用while循环吗?一个while循环听起来像是你想继续问这个问题。if…else使您看起来想验证他们的输入,如果不是“end”,则拒绝。如果您的实际目标是询问用户两次,则保留一个计数,并在while循环中使用该计数作为条件<代码>while(name!=“end”&&count<3)。您可以在while循环完成后告诉用户“buzz off”,并且名称仍然不是
end


您的另一个问题是,它在页面加载时立即显示提示是有意义的,因为您正在将其绑定到onLoad事件。不是吗?

看着路易斯回答;我有类似的问题,并添加了下面的代码作为示例实现。请尝试并使用控制台浏览器检查下次是否没有任何错误。在在线添加代码之前

  • 还要注意缩进,并与之保持一致,下面是一个例子
  • 如果使用可读的变量,其他开发人员可能不知道ino的含义

JavaScript示例
“严格使用”;
函数start(){
让name=window.prompt(“您叫什么名字?”);
让计数=1;

当(name!=“end”&&count观看louis answer时,我有类似的问题,并添加了下面的代码作为示例实现。请尝试并使用控制台浏览器检查下次是否没有任何错误。在在线添加代码之前

  • 还要注意缩进,并与之保持一致,下面是一个例子
  • 如果使用可读的变量,其他开发人员可能不知道ino的含义

JavaScript示例
“严格使用”;
函数start(){
让name=window.prompt(“您叫什么名字?”);
让计数=1;

while(name!==“end”&&count此时您正在使用1个变量ino,它从未设置为“end”,因此它将始终继续。让ino=“end”设置为某处将结束循环。您实际将“ino”放在“end”的字符串值的何处您的代码中缺少该部分。其次,您的代码未进行验证,当将代码放入浏览器时,您的代码显示:“意外标记”“else”“。“while else”不是有效的构造,只需删除else并将其放在while循环的方括号下。当用户键入“end”时“我希望循环结束。在此之前,我希望它继续询问用户名并将其输出您正在将
而{…}
构造与
if{…}else{…}混淆。”
construct。Javascript没有
,而其他
construct。事实上,我知道没有一种编程语言有这样的功能……目前您使用的是1个变量ino,它从未设置为“end”,因此它将始终继续。让ino=“end”设置为某处将结束循环。您实际将“ino”放在哪里将代码中缺少的部分添加到字符串值“end”中。其次,您的代码未进行验证,当放入浏览器时,您的代码显示:“意外标记”else。“while else”不是有效的构造,只需删除else并将其放在while循环的方括号下。当用户键入“end”时“我希望循环结束。在此之前,我希望它继续询问用户名并将其输出您正在将
而{…}
构造与
if{…}else{…}混淆。”
construct.Javascript没有
,而else则没有
构造。事实上,我知道没有一种编程语言有这样的构造……我的目标是,一旦用户输入结束,程序将不再要求其他名称。因此,我将!=我是否确保它不等于endYes是的。因此,如果名称不等于endis,你是说
EQUAL end…再次提示
。如果用户实际输入'end',while将计算为false,它将