为什么总是满足我的条件?

时间:2018-08-11 14:01:52

标签: javascript if-statement

我在函数外部创建了var,然后仅在翻转卡时在函数中添加++。我的控制台写入cardserial = 0,但“返回”仍然有效,而我的其余功能根本不起作用。 if(cardserial == 2); 为什么返回true?

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')
...

2 个答案:

答案 0 :(得分:1)

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

应为if (cardserial == 2) {

答案 1 :(得分:0)

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

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