二十一點遊戲:我做了下面的交易函數,它應該返回一個1-4之間的隨機數,代表一個套裝,以及1-3之間代表卡號的另一個隨機數。這段代碼爲什麼返回NaN?
當我測試通過調用console.log(getSuit(card1));
它返回NaN
任何人都知道爲什麼代碼?
// Make your card constructor again here, but make sure to use private
// variables!
function Card(num, suit){
var num = num;
var suit = suit;
getSuit = function(){
return suit;
};
getNumber = function(){
return num;
};
getValue = function(card){
if (card > 10){
return 10;
}else if (card === 1){
return 11;
}else{
return card;
}
};
}
// Make a deal function here. It should return a new card with a suit
// that is a random number from 1 to 4, and a number that is a random
// number between 1 and 13
var deal = function(){
var suit = Math.floor(Math.random * 4 + 1);
var number = Math.floor(Math.random * 13 + 1);
return new Card(number, suit);
};
// examples of the deal function in action
var card1 = deal();
var card2 = deal();
console.log(getSuit(card1));
getSuit()是一個成員函數,不接受不解決問題的參數 –