我是一名JavaScript学习者,正在努力为我的孩子(5至10岁)设计一款小型javascript游戏,该游戏中的分数是根据经过的时间得出的。但是,我无法找出一种总分的方法。我已经管理了以下代码,但结果不准确。程序可能会在每次点击时将阵列中的所有项目总计在一起。有人可以帮忙吗?我是新手,这里将有很多错误或荒谬之处,我要求您在纠正我的过程中礼貌地提供帮助。任何帮助表示赞赏。

document.getElementById("box1").onclick = function() {
  clickT = Date.now();
  reactT = (clickT - createdT) / 1000; //gets the time difference for reaction.

  points = reactT * 1000;
  points = 2000 - points;

  pRecord.push(points); //add points to array.

  for (i = 0; i < pRecord.length; i++) {
    totalpoints += pRecord[i];
  }

  document.getElementById("time").innerHTML = reactT;
  this.style.display = "none";

  document.getElementById("score").innerHTML = totalpoints;
}

最佳答案

求和之前,只需将totalpoints设置为零即可:

document.getElementById("box1").onclick = function() {
    var clickT = Date.now();
    var reactT = (clickT - createdT) / 1000; //gets the time difference for reaction.

    var points = reactT * 1000;

    points = 2000 - points;

    pRecord.push(points); //add points to array.

    var totalpoints = 0;
    for (var i = 0; i < pRecord.length; i++){
       totalpoints += pRecord[i];
    }


    document.getElementById("time").innerHTML = reactT;
    this.style.display = "none";

    document.getElementById("score").innerHTML = totalpoints;
}


而且我也不知道您是否在外部范围中定义了变量,但是我想您没有,因此我在每次创建变量之前都添加了var

10-04 22:17
查看更多