【问题标题】:How to assign the value of 0 to a variable?如何将 0 的值赋给变量?
【发布时间】:2013-03-26 19:19:55
【问题描述】:

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?

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

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

【问题讨论】:

    标签: javascript variables


    【解决方案1】:

    您使用 var 将其设为局部变量

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

    应该是

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

    【讨论】:

      【解决方案2】:

      两件事:

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

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

      【讨论】:

        【解决方案3】:

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

        并与

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

        else 构造到

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

        【讨论】:

        • 谢谢。我不完全确定parseInt(y)=== 部分的作用,但我现在会添加它。编辑:谢谢。
        • @LiamB parseInt(y) 将其转换为整数,=== 用于在 javascript 中进行比较
        猜你喜欢
        • 1970-01-01
        • 2014-04-30
        • 2021-12-04
        • 1970-01-01
        • 1970-01-01
        • 2016-09-15
        • 2017-09-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多