当条件不满足时,JS 在 if 语句中运行代码段

JS Runs sections of code inside a if statement when conditions are not met

我有这部分代码,它每 10 秒检查一次玩家是否有足够的 Xp 来升级,如果他们这样做,它将增加 1 到那里的水平,将所需的 Xp 加倍并在那里休息 Xp 到 0。

但出于某种原因,它每 10 秒就会加倍所需的 Xp,即使我没有足够的 Xp,它也不会做任何其他事情。升级也行。 (如果我能在它翻倍到大量之前足够快地获得足够的 XP)

window.setInterval(
function levelup() {
if (Xp >= neededXP)
    level = level + 1;
    neededXP = neededXP * 2;
    Xp = 0;
    document.getElementById("level").innerHTML = level
    document.getElementById("neededXP").innerHTML = neededXP
               document.getElementById("Xp").innerHTML = Xp
               }, 10000);

语法错误! if语句的样式如下:

if( //conditional statement ){
  // code here
}

所以你的应该是

window.setInterval(
  function levelup() {
    if (Xp >= neededXP){
      level = level + 1;
      neededXP = neededXP * 2;
      Xp = 0;
      document.getElementById("level").innerHTML = level
      document.getElementById("neededXP").innerHTML = neededXP
      document.getElementById("Xp").innerHTML = Xp
    }
  }, 10000);