我有一个功能,如果pan.cost > 0必须采取不同的行动。

所以说curPos = 3pan.cost = -1

现在,当我执行此操作时,无论如何,即使if(curPos + 1 === 5 || 30)是2,3,4,6等(只要curPos + 1一样),也始终使用pan.cost < 0

现在,我已将console.log(curPos + 1)放在else if-statement内,并且还说他们不符合要求。

function action(curPos)
{
  var pan = panel[curPos];

  if(pan.cost > 0)
  {

  }
  else if(curPos + 1 === 5 || 39)
  {
    console.log(curPos + 1);

  }
  else if(curPos + 1 === 3)
  {
    console.log("should be here");

  }
}

最佳答案

尝试这个:

function action(curPos)
{
  var pan = panel[curPos];
  var newCurPos = (curPost + 1);

  if(pan.cost > 0)
  {

  }
  else if(newCurPos === 5 || newCurPos === 39)
  {
    console.log(newCurPos);

  }
  else if(newCurPos === 3)
  {
    console.log("should be here");

  }
}

关于javascript - 否则,如果语句被忽略,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43192371/

10-09 16:48