为什么即使满足条件,JS 中的 while 循环也会停止?

时间:2021-07-31 16:42:33

标签: javascript

我正在用 JavaScript 编写一个简单的待办事项列表程序。

预期行为:-

如果用户输入 new,他们应该被询问他们想要添加到列表中的新项目。

如果用户键入 list,则应列出数组中的每一项。

如果用户输入 quit,程序结束。

如果用户输入其他内容,则应再次提示。

结果行为:-

一切正常,除非用户从命令中输入任何其他内容,程序会自动关闭。

这是我的 JavaScript 代码:-

let want = prompt("What Do You Want To Do?");

let list = [];

let listItem = "";

while (want !== "quit") {
  if (want === "new") {
    listItem = prompt("Enter A Task You Want To Add");
    console.log(`${listItem} added to your todo list.`);
    list.push(listItem);
    want = prompt("What Do You Want To Do?");
  } else if (want === "list") {
    console.log("*******");
    for (let i = 0; i < list.length; i++) {
      console.log(list[i]);
    }
    console.log("*******");
    want = prompt("What Do You Want To Do?");
  }
}
console.log("Okay You Quit");

我已将 while 循环设置为继续,直到用户输入 quit,为什么它会停止???

谢谢

2 个答案:

答案 0 :(得分:2)

程序不会关闭,而是无限循环——当输入既不是 new 也不是 list 也不是 quit 时,{{ 中没有语句1}} 循环执行。就像:

while

所以循环会永远执行。

虽然您可以添加 while (want !== "quit") { // nothing } ,但最好在循环结束时为所有条件仅编写 一个

else { want = prompt(...

答案 1 :(得分:0)

尝试删除while循环并添加另一个用于退出的else语句:

<form>