在setInterval()中全局更改变量

时间:2018-11-15 13:58:41

标签: javascript setinterval

我试图显示嵌入HTML的JavaScript中的setInterval函数已经过去了几秒钟。我尝试了下面的代码,但是它仅输出1,但似乎测试函数执行的次数不止一次。 任何帮助将不胜感激!

var n=1;
function test() {
    document.write(n);
n=n+1;
}
setInterval(test(), 1000);

5 个答案:

答案 0 :(得分:1)

删除函数名称后的括号。只需指定函数名称即可。

var n=1;
function test() {
  document.write(n);
  n=n+1;
}
setInterval(test, 1000);

答案 1 :(得分:1)

var n=1;

function test() {
  document.getElementById("counter").innerHTML = n;
  n+=1;
}

setInterval(()=>{
  test()
  }, 1000);
<div id="counter">0</div>

答案 2 :(得分:0)

var n=1;
function test() {
    document.write(n);
n=n+1;
}
setInterval(test, 1000);

删除()

答案 3 :(得分:0)

这也应该起作用!

var n=1;
function test() {
    document.write(n);
    n=n+1;
}
setInterval(() => test(), 1000);

编辑:请勿执行此操作,它会创建不必要的功能!

答案 4 :(得分:0)

您应删除setInterval中的函数括号以调用目标函数。

var n=1;
function test() {
  document.write(n);
  n=n+1;
}
setInterval(test, 1000);

您还可以在特殊元素中写第二个数字,而不是使用write()来更好地工作

var n = 0;
function test() {
  document.getElementsByTagName("div")[0].innerHTML = n+=1;
}
setInterval(test, 1000);
<div>0</div>