【问题标题】:How to increment a variable after 1 second in javascript如何在javascript中1秒后增加变量
【发布时间】:2014-02-08 06:18:20
【问题描述】:

目标是每秒加 1。我不确定如何在这里使用return,以及如何将return 的值 secsUpseconds

function timeDisp ()
{
var seconds=0;
function changeSecs ()
    {
        var secsUp = seconds+1;
        return secsUp;
    }
document.write(seconds);
}
setInterval(timeDisp,1000);

【问题讨论】:

    标签: javascript return


    【解决方案1】:

    你的代码有问题

    1. 您已经在 timeDisp() 中声明了一个局部变量 seconds=0,因此无论何时调用此方法,秒的值都会始终重置为 0。
    2. 您不会在任何时候调用changeSecs() 方法。如果您只想将 1 增加到您的 seconds 变量,我看不出它有什么用处。

    试试这个jsbin Demo

    var seconds=0;
    function timeDisp() {
      seconds++;
      document.write(seconds);
    }
    setInterval(timeDisp,1000);
    

    【讨论】:

    • Nit: document.write 不应该被使用并且在这里是不可靠的(它在不同的浏览器上会表现不同,因为它会“重新打开”文档流,不管它是什么意思)。
    • @user2864740 是的,你完全正确。我只是没有在我的回答中提到它,因为它超出了主题。现在我意识到我应该将它添加为第三点。
    【解决方案2】:

    您应该将 secsUp 的值存储在另一个变量中,该变量在函数外部调用。例如- int a= changeSecs();它将保存返回的值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-09-24
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      • 1970-01-01
      相关资源
      最近更新 更多