Javascript 即使条件为false,if语句中的代码也会运行

Javascript 即使条件为false,if语句中的代码也会运行,javascript,if-statement,Javascript,If Statement,由于某些原因,即使不满足条件,也会提示用户回答 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,

由于某些原因,即使不满足条件,也会提示用户回答

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}}
    }
}
有一个分号不应该在那里

分号表示if语句的结束。后面{}中的代码与if不关联。省去分号,它将按预期运行


正如上面的评论中提到的,良好的代码格式,包括回车、缩进等,可以帮助防止此类错误。一旦你将代码发送到一个广阔的世界,挤压代码是一回事,但是当你还在摆弄的时候,给自己留出空间、长的变量名和一致的缩进。您的代码越复杂,您就越希望这样做。

这是因为您正在关闭if condition,remove;之后

替换

如果locationName==SpacePort


删除if语句后的分号:

 if (locationName === "SpacePort");
应该是

 if (locationName === "SpacePort")

`有一个打字错误。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}}
    }
}

你是否对代码中的白空间产生了过敏?这个问题似乎是偏离主题的,因为它是由一个键入引起的。当代码被保存时,我有一个空白空间被删除,你不应该剥掉直到你部署,你应该在你的存储库中保留未被剥离的代码。你应该考虑通过一个类似于Link的代码来运行你的代码。这里有回音吗?为什么有人会投一个与之前3个答案重复的答案?谢谢你的快速回复。谢谢你的快速回复,因为你的建议,问题现在已经解决了。那么前3个答案的向上投票呢?谢谢你的快速回复。
 if (locationName === "SpacePort")
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}}
    }
}