为什么我的while循环使用if语句不能正常工作?

时间:2019-04-30 21:40:38

标签: javascript

我正在尝试用Java脚本编写待办事项列表,其中提示将询问用户他们想做什么,然后用户具有3个选项,“新建”以添加新元素或“列表”检查已经添加的元素或“退出”退出循环。

我尝试通过更改分号的位置来更改语法,但这只会导致永无休止的循环,从而使笔记本电脑崩溃!

var todo=[];
var answer=prompt("what do you want to do?");
while (answer!=="quit") {
  if (answer=="list") {
    console.log(todo);
  }
  else if (answer="new") {
    var newtodo=prompt("what do you want to add?");
    todo.push(newtodo);


  }
}
alert("ok we're done here");

当我打开脚本所附加的HTML文件时,第一个提示按预期出现,当我键入“ quit”时,它将按预期退出循环并显示警报,但是当我键入“ new”时,它将保持问我你想补充什么?不管我键入什么,它都永无止境。另外,当我输入列表时,它总是问我你想添加什么,即使它应该列出我的数组。我认为我在语法上犯了一个错误,但我不知道该怎么办。

1 个答案:

答案 0 :(得分:1)

这里的问题是,您只提示一次,而while循环之前。

修复:稍后,再次提示:

var answer=prompt("what do you want to do?");
while (answer!=="quit") {
  if (answer=="list") {
    console.log(todo);
  }
  else if (answer=="new") { //plus here it's '==', not '='
    var newtodo=prompt("what do you want to add?");
    todo.push(newtodo);
  }
  answer=prompt("what do you want to do?");
}