如何将0的值赋给变量?

时间:2013-03-26 19:19:55

标签: javascript variables

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 code:

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

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

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

如果已经在其他地方回答了这个问题,我很抱歉,但要搜索=++这两个字词非常困难。

3 个答案:

答案 0 :(得分:1)

您使用var

将其设为局部变量
else {
    var count=0;
    alert("Reset.");

应该是

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

答案 1 :(得分:0)

两件事:

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

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

答案 2 :(得分:0)

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

并与

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

然后构建到

  else {
    count = 0;
    alert('Reset');
  }