簡體   English   中英

卡在 else if 循環中

[英]Stuck in else if loop in Javascript

我正在為一個班級做一個練習,我們正在創建一個 Todo 列表。

我的問題是,當我輸入 Todo 並按 Enter 鍵時,我收到消息Enter new Todo ,而不是Added todo

看來我被困在這個else if循環中,它不會轉到下一個 else if語句。

 var todos = ["Buy New Turtle"]; window.setTimeout(function() { var input = prompt("What would you like to do?"); while(input !== "quit") { if(input === "list") { console.log("**********"); todos.forEach(function(todo, i) { console.log(i + ": " + todo); }) console.log("**********") } else if(input === "new") { var newTodo = prompt("Enter new todo"); todos.push(newTodo); console.log("Added todo"); } else if(input === "delete"){ var index = prompt("Enter index of todo to delete"); todos.splice(index, 1); } } input = prompt("What would you like to do?"); console.log("OK, YOU QUIT THE APP"); }, 500);

您需要將input的重新聲明放在while循環中。 還要檢查input是否為真 - 這樣,如果有人關閉提示框,它就不會崩潰。

 var todos = ["Buy New Turtle"]; window.setTimeout(function() { var input = prompt("What would you like to do?"); while (input !== "quit" && input) { if (input === "list") { console.log("**********"); todos.forEach(function(todo, i) { console.log(i + ": " + todo); }) console.log("**********") } else if (input === "new") { var newTodo = prompt("Enter new todo"); todos.push(newTodo); console.log("Added todo"); } else if (input === "delete") { var index = prompt("Enter index of todo to delete"); todos.splice(index, 1); } input = prompt("What would you like to do?"); } console.log("OK, YOU QUIT THE APP"); }, 500);

您的線路:

input = prompt("What would you like to do?"); 位於while循環之外,因此每次輸入待辦事項時, input變量的值始終為“new”。

查看附加的片段以進行更正:

 var todos = ["Buy New Turtle"]; window.setTimeout(function() { var input = prompt("What would you like to do?"); while(input !== "quit") { if(input === "list") { console.log("**********"); todos.forEach(function(todo, i) { console.log(i + ": " + todo); }) console.log("**********") } else if(input === "new") { var newTodo = prompt("Enter new todo"); todos.push(newTodo); console.log("Added todo"); } else if(input === "delete"){ var index = prompt("Enter index of todo to delete"); todos.splice(index, 1); } // this line was moved into the while loop input = prompt("What would you like to do?"); } console.log("OK, YOU QUIT THE APP"); }, 500);

var todos = ["Buy New Turtle"];
newTodo = [];

window.setTimeout(function() {

  var input = prompt("What would you like to do?");

  while(input !== "quit") {

    if(input === "list") {
      console.log("**********");
      todos.forEach(function(todo, i) {
        console.log(i + ": " + todo);
      })
      console.log("**********")
    }
    else if(input === "new") {
      var newTodo = prompt("Enter new todo");
      todos.push(newTodo);
      console.log("Added todo");
      }

    else if(input === "delete"){
      var index = prompt("Enter index of todo to delete");
      todos.splice(index, 1);
      }
    input = prompt("What would you like to do?");
  }


  console.log("OK, YOU QUIT THE APP");
}, 500);`enter code here`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM