代码中的Javascript语法问题

代码中的Javascript语法问题,javascript,Javascript,有人能告诉我为什么这段JavaScript有缺陷吗? 我也有HTML,但我不想让它成为一个巨大的代码转储 <script type = 'text/javascript'> var playerCards = []; var dealerCards = []; function deal() { var newCard = Math.random() % 12; var newCard2 = Math.random() % 12; playerCards +

有人能告诉我为什么这段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>

var playerCards=[];
var DealCards=[];
函数deal(){
var newCard=Math.random()%12;
var newCard2=Math.random()%12;
玩家卡+=新卡;
playerCards+=新卡2;
var计数器=0;
对于(变量i=0;i

我想在某个地方这是一个愚蠢的语法错误,但我找不到它。

我猜这并没有达到你期望的效果:

playerCards += newCard;
playerCards += newCard2;
请尝试以下方法:

playerCards.push(newCard);
playerCards.push(newCard2);
第一段代码试图向数组中“添加”一个数字,这完全没有意义。通过一些神秘的JavaScript规则,这会将结果转换为字符串


我猜您希望连接到一个数组。

Math.random返回一个介于0和1之间的数字-因此Math.random()%12可能是零

var playerCards = [];
playerCards += newCard; //
你到底想在那里做什么

var counter = 0;
for (var i = 0; i < playerCards.length; ++i) {

    counter += i;
}
var计数器=0;
对于(变量i=0;i

若playerCards有一个长度,这个循环将导致计数器的值为0、1、3、6、10。。n(n+1)/2-可能不是您想要的,但是谁知道您看到的问题是什么?问题是什么?我不相信+=向数组添加元素,除非这是我不知道的功能。试试玩扑克牌。按(新卡)。但可能是其他事情,因为你还没有解释出问题所在。