“得分”变量不变

时间:2013-05-18 07:17:55

标签: javascript html

我正在用JavaScript和HTML制作一个在线游戏(一个非常简单的游戏,这是我的第一个游戏)。它工作正常,但有一个大问题。我希望无论何时单击特定图像,都会将10添加到变量得分的值。这是我使用的代码:

var score = 0;
function addScore() {
var test = parseInt(score);
var score = parseInt(test) + 10;
document.getElementById("score").innerHTML=score; }

我想要的图像功能:

<img src='mole.png' alt='mole' onclick='addScore()' />

问题是什么?如何解决?

3 个答案:

答案 0 :(得分:1)

您正在使用您的某个函数隐藏外部score变量。此内部变量每次都重置为0

不是每次都解析得分,只需将其初始化一次:

var score = 0;
function addScore() {
     score += 10;
     document.getElementById("score").innerHTML=score;
}

答案 1 :(得分:1)

通过更改此内容,您可以简化生活:

1. Don't use the same varibale name in globally & locally.
2. Removing the `parseInt()` method as score is already an Integer.

所以你的最终剧本应该是:

var score = 0;
function addScore() {
     score += 10;
     document.getElementById("score").innerHTML=score;
}

答案 2 :(得分:0)

您宣布得分Globallylocally。因此值不会更新

var score = 0;
function addScore() {
var test = parseInt(score);
score = parseInt(test) + 10;
document.getElementById("score").innerHTML=score; }