(免责声明:我对 JS 很陌生)
大家好,
我正在开发一款游戏,你可以随机选择两张牌,根据结果你会看到一个弹出窗口。我一直按照一组说明来完成它。
我有两个问题:
A.在控制台中我收到一条错误消息:
SyntaxError: missing ; before statement
它指的是第 7 行的 } else {,我不知道为什么会得到它。假设我缺少一个 ; ,它会去哪里?我想我应该问一下并让另一双眼睛关注这个。
B.说明说我应该在控制台中看到“用户翻转皇后”和“用户翻转国王”,但我没有。
如果问题 1 中的问题得到解决,我会看到他们吗?如果没有,那我该怎么办?
- 谢谢!
沙丁鱼
var cards = ["queen", "queen", "king", "king"]; var cardsInPlay = []; var checkForMatch = function() { if (cardsInPlay[0] === cardsInPlay[1]) alert('You found a match!'); } else { alert('Sorry, try again.'); } var flipCard = function(cardId) { console.log("User flipped " + cards[cardId]); cardsInPlay.push(cards[0]); if (cardsInPlay.length === 2) { checkForMatch(); } flipcard(0); flipcard(2);
最佳答案
A.您缺少 if
block 开头的 {
和 else
末尾的 }
block 。
var checkForMatch = function() {
if (cardsInPlay[0] === cardsInPlay[1]) { // <=== here
alert('You found a match!');
} else {
alert('Sorry, try again.');
}
}
B.由于代码中存在语法错误,因此无法正常运行。
您还缺少 flipCard
函数末尾的 }
。
Javascript 是区分大小写的。由于您将函数命名为 flipCard
,因此您不能将其称为 flipcard
。
var cards = ["queen", "queen", "king", "king"];
var cardsInPlay = [];
var checkForMatch = function() {
if (cardsInPlay[0] === cardsInPlay[1]) { // <=== here
console.log('You found a match!');
} else {
console.log('Sorry, try again.');
}
}
var flipCard = function(cardId) {
console.log("User flipped " + cards[cardId]);
cardsInPlay.push(cards[0]);
if (cardsInPlay.length === 2) {
checkForMatch();
}
}
flipCard(0);
flipCard(2);
关于javascript - 正在处理 JS 作业(函数、数组等)——有几个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48290031/