[英]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.