【发布时间】:2020-01-30 00:26:29
【问题描述】:
我正在尝试构建一副扑克牌。这是它的简码。我只是在努力学习,所以对我的代码要温柔。
所以我想为玩家手中的牌创造一个总价值。每次我尝试调用此函数来更改 cardValue 时,它似乎并没有改变全局范围内的任何内容。
let cardValue = 0;
let cardDeck = [];
for (i=1; 52 >= i; i++) {
cardDeck.push(i);
};
let card1 = ((Math.random()*52)-1);
card1 = Math.floor(card1);
card1 = cardDeck.splice(card1, 1);
let card2 = ((Math.random()*51)-1);
card2 = Math.floor(card2);
card2 = cardDeck.splice(card2, 1);
function cardTotal(foo, bar) {
if (3 >= foo) {
bar =+ 11;
} else if (7 >= foo) {
bar =+ 2;
} else if (11 >= foo) {
bar =+ 3;
} else if (15 >= foo) {
bar =+ 4;
} else if (19 >= foo) {
bar =+ 5;
} else if (23 >= foo) {
bar =+ 6;
} else if (27 >= foo) {
bar =+ 7;
} else if (31 >= foo) {
bar =+ 8;
} else if (35 >= foo) {
bar =+ 9;
} else if (39 >= foo) {
bar =+ 10;
} else if (43 >= foo) {
bar =+ 10;
} else if (47 >= foo) {
bar =+ 10;
} else {
bar =+ 10;
}
}
cardTotal(card1, cardValue);
cardTotal(card2, cardValue);
console.log(cardValue); // returns 0
【问题讨论】:
-
语法应该是
+=而不是=+
标签: javascript arrays function