0

Javascript函数1:

var count = 0;

function myFunction()
{
count++;
document.getElementById("count").innerHTML=count;
}

Javascript函数2:

function demo() {
var y=document.getElementById("count").innerHTML;
if(y=="0") {
alert("There's nothing to be reset.");
}
else {
var count=0;
alert("Reset.");
// alternative code I used: document.getElementById("count").innerHTML="0";
}
}

HTML 代码:

<a href="Javascript:myFunction()">Click here</a>
<p>Total:<span id="count">0</span></p>
<button onclick="demo()">reset</button>

有没有办法在这段代码中将变量重置为 0?

我尝试使用并添加到变量将变量重置count为零。这些都不起作用。例如,如果用户要单击链接,则计数将增加到 1。当他们单击重置按钮时,它似乎会重置为 0(除非使用 `var count=0;)。但是,如果用户再次单击该链接,则计数将返回值 2,因为它可以简单地从前一次继续增加。document.getElementById()=0;

如果这已经在其他地方得到了回答,我很抱歉,但是很难搜索这些术语=++.

4

3 回答 3

2

您通过使用使其成为局部变量var

else {
    var count=0;
    alert("Reset.");

应该

else {
    count=0;
    alert("Reset.");
于 2013-03-26T19:22:10.260 回答
0

两件事情:

  1. 摆脱var重置变量的位置。这为您提供了一个具有相同名称的单独局部变量。

  2. 使用“count”作为变量名,如果它是全局的,如果在 DOM 中还有一个 id 为“count”的元素,则会导致问题。使用不同的变量名或不同的 id,或确保该变量不是全局变量(无法从发布的代码中看出)。

于 2013-03-26T19:22:17.527 回答
0

您需要在代码中更改的内容是:

并进行比较

   if(parseInt(y) === 0) // You are converting it to integer and doing a strict check

else 构造为

  else {
    count = 0;
    alert('Reset');
  }
于 2013-03-26T19:25:44.823 回答