为什么我一直收到错误,意外的其他令牌?
var PRIZES = ["a new car", "a broken stapler", "a refrigerator"];
var door = prompt("Choose a door number (1,2,or3)");
var prize = PRIZES[door - 1];
if (prize <= 3 && prize >= 1);{
alert("you have won " + prize.toUpperCase() + "!!");
}
else (door === undefined); { alert("not a door"); }
答案 0 :(得分:3)
不要在if和else语句之后放置分号。只在陈述结尾处使用它们。此外,您需要使用else if
而不是else
来检查另一个条件表达式。您还需要检查door
- 而不是prize
- <= 3
和>= 1
是否如此:
var PRIZES = ["a new car", "a broken stapler", "a refrigerator"];
var door = prompt("Choose a door number (1,2,or3)");
var prize = PRIZES[door - 1];
if (door <= 3 && door >= 1)
{
alert("you have won " + prize.toUpperCase() + "!!");
}
else if (door === undefined)
{
alert("not a door");
}
顺便说一句,看起来你应该摆脱else if (door === undefined)
并将其替换为else
。我还建议将door
解析为整数。
答案 1 :(得分:1)
因为您正在使用else
的条件。如果else
条件不满足,则if
意味着全部捕获。根据您的需要,使用else if
:
var PRIZES = ["a new car", "a broken stapler", "a refrigerator"];
var door = prompt("Choose a door number (1,2,or3)");
var prize = PRIZES[door - 1];
if (prize <= 3 && prize >= 1);{
alert("you have won " + prize.toUpperCase() + "!!");
}
else if (door === undefined) {
alert("not a door");
}
答案 2 :(得分:0)
我认为我们应该把它简单地说成这样的
if () {
} else {
}
或
if () {
} else if () {
} else if () {
} else () {
}
没有半冒号;在()之后,实际上你很可能只是跳过javascript中的所有半冒号,因为它会自动添加,我通常只在一个js文件的开头放一个这样的
;(function(){})()
你需要的另一个时间是循环,
for ( ; i < len; i++) {}