有人能告诉我为什么这些JavaScript有问题吗? 我也有HTML,但我不想让它成为一个巨大的代码转储。
<script type = 'text/javascript'>
var playerCards = [];
var dealerCards = [];
function deal() {
var newCard = Math.random() % 12;
var newCard2 = Math.random() % 12;
playerCards += newCard;
playerCards += newCard2;
var counter = 0;
for (var i = 0; i < playerCards.length; ++i) {
counter += i;
}
document.getElementById("playerTotal").innerHTML = counter;
var dCounter = 0;
for (var j = 0; j < playerCards.length; ++j) {
dCounter += j;
}
document.getElementById("dealerTotal").innerHTML = dCounter;
}
</script>
我会假设这在某个地方是一个愚蠢的语法错误,但我找不到它。
答案 0 :(得分:3)
我猜这不符合你的期望:
playerCards += newCard;
playerCards += newCard2;
请改为尝试:
playerCards.push(newCard);
playerCards.push(newCard2);
第一个片段试图向数组“添加”一个数字,这并不完全有意义。通过一些神秘的JavaScript规则,这会将结果转换为字符串。
我猜你想要连接到一个数组。
答案 1 :(得分:2)
Math.random返回0到1之间的数字 - 因此Math.random()%12可能为零
window.initChart = initChart;
你甚至想在那里做什么?
var playerCards = [];
playerCards += newCard; //
如果playerCards有一个长度,这个循环将导致计数器的值为0,1,3,6,10 ...... n(n + 1)/ 2 - 可能不是你想要的,但谁知道