由于某种原因,即使不满足条件,也会提示用户回答。
function makePurchase()
{
if (locationName !== "SpacePort"){alert("You are not at the SpacePort.S")}
if (locationName === "SpacePort");{
userBuys= prompt(userName + ". "+"What do you purchase? Lasers, Sensors, or Repair Ship.");
{if(userBuys === "Lasers" && credits>=1000){lasers+10; credits-1000; alert("You have purchased lasers.")};
if(userBuys === "Sensors"){};if(userBuys === "Repair Ship"){shipDamage=0}}
}
}
答案 0 :(得分:4)
if (locationName === "SpacePort");
有一个分号不应该在那里......
分号表示“if
语句的结尾”。随后的{}
中的代码与if
无关。省略分号,它将按预期运行。
正如上面的评论中所提到的,良好的代码格式(包括回车,缩进等)可以帮助防止这些类型的错误。一旦你将代码发送到大范围的世界,压缩代码是一回事 - 但是当你仍在摆弄时,给自己留出空间,长变量名称和一致的缩进。你的代码越复杂,你就越希望你做到。
答案 1 :(得分:2)
这是因为您正在关闭if
条件,请在
;
替换
if (locationName === "SpacePort");
带
if (locationName === "SpacePort")
答案 2 :(得分:2)
有一个错字。在locationName ===“SpacePort”的if语句后面有一个分号。应该是:
function makePurchase()
{
if (locationName !== "SpacePort"){alert("You are not at the SpacePort.S")}
if (locationName === "SpacePort"){
userBuys= prompt(userName + ". "+"What do you purchase? Lasers, Sensors, or Repair Ship.");
{if(userBuys === "Lasers" && credits>=1000){lasers+10; credits-1000; alert("You have purchased lasers.")};
if(userBuys === "Sensors"){};if(userBuys === "Repair Ship"){shipDamage=0}}
}
}
答案 3 :(得分:1)
在if语句后删除分号:
if (locationName === "SpacePort");
应该是
if (locationName === "SpacePort")
`