我在函数外部创建了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')
...
答案 0 :(得分:1)
因为您在if语句if (cardserial == 2 ); {
之后添加了分号
在它之后运行代码块。
应为if (cardserial == 2) {
。
答案 1 :(得分:0)
那是因为您有一个分号if
终止。 JavaScript认为您那里有一个空语句,它右边的所有内容都被视为不再属于。下一行被视为一个单独的块。应该是
if (cardserial == 2 ) {
console.log('prevent triple card flip')
return;
}