Javascript 为什么我的条件总是符合?

Javascript 为什么我的条件总是符合?,javascript,if-statement,Javascript,If Statement,我在函数外部创建了var,然后在函数中,我只在卡片翻转时添加++。我的控制台写入cardserial=0,但返回仍然有效,我的函数的其余部分根本不起作用。 为什么if cardserial==2;返回真值 var cardserial = 0; // This function is called whenever the user click a card function cardClicked(elCard) { console.log(cardserial) if (cardseri

我在函数外部创建了var,然后在函数中,我只在卡片翻转时添加++。我的控制台写入cardserial=0,但返回仍然有效,我的函数的其余部分根本不起作用。 为什么if cardserial==2;返回真值

var cardserial = 0;

// This function is called whenever the user click a card
function cardClicked(elCard) {
console.log(cardserial)

if (cardserial == 2 ); {
console.log('prevent triple card flip')
return; 
} 

if (typeof startTime === 'undefined') {
...
 var card2 = elCard.getAttribute('data-card');
    cardserial++;
    console.log('Second')
...

因为您在if语句后面添加了分号if cardserial==2;{ 在它之后运行代码块


应该是if cardserial==2{.

,这是因为有一个分号终止if.JavaScript认为那里有一个空语句,它右边的所有内容都被视为不再属于。下一行被视为一个单独的块。它应该是

if (cardserial == 2 ) {
  console.log('prevent triple card flip')
 return; 
} 

您没有发布足够的代码。if语句语法为ifcondition statement now{}是块语句由多个语句组成的语句,因此如果执行ifsth;{}你将障碍与条件分开。@AnneWithAnE我不想打扰你太多,但我注意到你是新来的。通常,当有人回答你的问题,而答案解决了你的问题时,你将其打勾为正确。这有助于社区知道给出的答案是你问题的正确解决方案。