setInterval 不会重复?

setInterval won't repeat?

为什么这与上述相关联?在从下面提供的答案中理解问题后,我通读了这些答案,上面没有任何内容可以产生任何见解。

html 文件

let tester = 0;
    setInterval(iterateCounter(), 1000);
    
    function iterateCounter(){
      ++ tester;
      console.log(tester);
    }
    

这可能是一个可怕的问题,但我已经检查了 MDN、JSinfo,并在此基础上仔细阅读了大约 20 分钟的堆栈。为什么这个代码片段 运行 一次就不再重复?

您应该只传递函数名称而不是调用它:

let tester = 0;
setInterval(iterateCounter, 1000);
    
function iterateCounter(){
      ++ tester;
      console.log(tester);
}

更多信息,您可以查看docs

setInterval 在它的第一个参数中接受函数本身,而不是什么函数 returns。要使其工作,只需在 iterateCounter

之后删除范围

let tester = 0;
    setInterval(iterateCounter, 1000);
    
    function iterateCounter(){
      ++ tester;
      console.log(tester);
    }