財產「排名」我剛開始學習javascipt的,在這個錯誤的教程中間很爲難:遺漏的類型錯誤:無法讀取的不確定
我試圖創造各種各樣的小遊戲,我翻轉卡和查找匹配。
我有一個數組中的對象,並試圖根據選擇哪個卡(對象)來調用'rank'的特定值。
在控制檯中運行代碼給我一個錯誤: 未捕獲TypeError:無法讀取未定義的屬性'等級'。
的Javascript:
console.log("Up and running");
var cards = [
{
rank: "queen",
suit: "hearts",
cardImage: "images/queen-of-hearts.png"
},
{
rank: "queen",
suit: "diamonds",
cardImage: "images/queen-of-diamonds.png"
},
{
rank: "king",
suit: "hearts",
cardImage: "images/king-of-hearts.png"
},
{
rank: "king",
suit: "diamonds",
cardImage: "images/king-of-diamonds.png"
}
];
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].rank);
/*issue is with calling the rank*/
console.log(cards[cardId].cardImage);
console.log(cards[cardId].suit);
cardsInPlay.push(cards[cardId].rank);
if (cardsInPlay.length === 2) {
checkForMatch();
};
}
var createBoard = function() {
for (var i = 0; i < cards.length; i ++) {
var cardElement = document.createElement('img');
cardElement.setAttribute("img", "images/back.png");
cardElement.setAttribute("data-id", i);
cardElement.addEventListener("click", flipCard());
document.getElementById("game-board").appendChild(cardElement);
}
}
createBoard();
flipCard(0);
flipCard(2);
是我的錯誤是由於我把銀行卡使用[CardId中] .rank從對象價值的方式?
活頁片功能需要一個CardId中的參數,當你調用上單擊事件'flipcard'你不傳遞任何參數,它是不確定的。 – Gntem