我有一个while循环,其中有if,else if和else条件。当我运行循环时,最后的else条件永远不会显示,我试图找出它的原因。这是代码:
var loopEnd = 1;
while (loopEnd != 2) {
var conversion = prompt("Do you want to convert miles to km, or km to miles?");
if (conversion == "miles to km") {
var miles = 0;
var miles = prompt("How many miles do you want to convert?");
var kilometers = 1.61 * miles;
while (miles != 0) {
alert("The number of kilometers for " + miles + " miles is " + kilometers + " kilometers.");
var miles = prompt("How many miles do you want to convert?");
var kilometers = 1.61 * miles;
}
var promptEnd = prompt("Do you want to convert anything else?");
if (promptEnd == "no") {
var loopEnd = 2;
} else {
alert("Okay, let's convert something else!");
}
} else if (conversion == "km to miles") {
var kilometers = 0;
var kilometers = prompt("How many kilometers do you want to convert?");
var miles = 0.62 * kilometers;
while (kilometers != 0) {
alert("The number of miles for " + kilometers + " kilometers " + miles + " miles.");
var kilometers = prompt("How many kilometers do you want to convert?");
var miles = 1.61 * kilometers;
}
var promptEnd = prompt("Do you want to convert anything else?");
if (promptEnd == "no") {
var loopEnd = 2;
// } else {
alert("Sorry, I didn't quite catch that.");
}
}
}
答案 0 :(得分:1)
如果您正在引用其中包含警报的其他内容,则需要重新格式化代码。在这里试试这个
var loopEnd = 1;
while (loopEnd != 2) {
var conversion = prompt("Do you want to convert miles to km, or km to miles?");
if (conversion == "miles to km") {
var miles = 0;
var miles = prompt("How many miles do you want to convert?");
var kilometers = 1.61 * miles;
while (miles != 0) {
alert("The number of kilometers for " + miles + " miles is " + kilometers + " kilometers.");
var miles = prompt("How many miles do you want to convert?");
var kilometers = 1.61 * miles;
}
var promptEnd = prompt("Do you want to convert anything else?");
if (promptEnd == "no") {
var loopEnd = 2;
} else {
alert("Okay, let's convert something else!");
}
} else if (conversion == "km to miles") {
var kilometers = 0;
var kilometers = prompt("How many kilometers do you want to convert?");
var miles = 0.62 * kilometers;
while (kilometers != 0) {
alert("The number of miles for " + kilometers + " kilometers " + miles + " miles.");
var kilometers = prompt("How many kilometers do you want to convert?");
var miles = 1.61 * kilometers;
}
var promptEnd = prompt("Do you want to convert anything else?");
if (promptEnd == "no") {
var loopEnd = 2;
}
}
else {
alert("Sorry, I didn't quite catch that.");
}
}
另外,Rhumborl是正确的,你需要清理代码并给它适当的间距。