Home > Web Front-end > JS Tutorial > body text

How to trigger a setInterval loop immediately using JavaScript?

王林
Release: 2023-08-24 16:05:05
forward
2773 people have browsed it

如何使用 JavaScript 立即触发 setInterval 循环?

setInteral()方法允许我们在每个特定时间段后连续触发回调函数。我们可以将回调函数作为第一个参数传递给每个时间段后触发,并将以毫秒为单位的时间段作为第二个参数。

setInterval() 方法在第一次特定的毫秒数后调用回调函数。现在的问题是,我们需要在第一次0毫秒立即调用回调函数,之后,我们需要在给定的时间段内连续调用它。

示例

在下面的示例中,我们创建了 func() 函数,该函数打印文档中的消息。我们使用了 setInterval() 方法,该方法每 3000 毫秒调用一次 func() 函数。

<html>
<body>
   <h3> Using the <i> setInteral() </i> method to invoke the particular function continuosly </h3>
   <div id = "output"> </div>
   <script>
      let output = document.getElementById('output');
      output.innerHTML += "Please wait ...." + "<br>";
      function func() {
         output.innerHTML += "The func() function is invoked!" + "<br>";
      }
      setInterval(func, 3000);
   </script>
</body>
</html>
Copy after login

在输出中,用户可以观察到 setInteraval() 方法在 3000 毫秒后首次调用 func() 函数。

用户可以按照以下方式在0毫秒处首次调用func()函数。

第一次调用该函数,之后使用setInterval()方法

使用 setInterval() 方法时,首次无延迟调用该函数的一种方法是首次调用该函数。

当我们第一次调用该函数时,它会在第 0 毫秒执行。之后,setInterval()方法会在一定时间后连续执行该函数。

语法

用户第一次使用setInterval()方法时,可以按照下面的语法立即调用该函数。

func_name()
setInterval(func_name, 1000);
Copy after login

在上面的语法中,我们第一次调用了 func_name() 函数,之后每 1000 毫秒调用一次。

示例

在下面的示例中,func() 函数使用 setInterval() 方法每 1000 毫秒调用一次消息。为了不延迟地第一次调用该函数,我们首先调用该函数,然后使用 setInteral() 方法调用该函数。

<html>
<body>
   <h3> Invoking the function for the first time and, after that, using the setInteral() method to invoke the particular function continuously. </h3>
   <div id = "output"> </div>
</body>
   <script>
      let output = document.getElementById('output');
      function func() {
         output.innerHTML += "The func() function is invoked!" + "<br>";
      }
      func()
      setInterval(func, 1000);
   </script>
</html>
Copy after login

在setInteral()方法中创建立即调用的函数

一旦我们创建函数表达式,立即调用的函数就会立即调用它。因此,我们可以使用立即调用函数表达式来首次调用该函数,而无需延迟。我们还可以在函数内部使用setInterval()方法来以特定的时间间隔执行函数。

语法

用户在使用 setInterval() 方法时,可以按照以下语法使用立即调用的函数表达式来无延迟地执行函数。

(function name() {
   setInterval(name, 3000);
})()
Copy after login

在上面的语法中,我们在大括号中编写了函数表达式,然后编写左大括号和右大括号以立即调用该函数。

示例 3

下面的示例创建一个测试函数,使用 setInterval() 方法在每个时间间隔后调用。我们将 test() 函数编写为立即调用的函数表达式,并在函数内使用 setInterval() 方法,每 3000 毫秒调用一次 test() 函数。

我们可以观察到测试函数在刷新网页时第一次在第 0 毫秒调用的输出,然后每 3000 毫秒调用一次。

<html>
<body>
   <h3> Using the immediately invoked function expression to invoke the function without delay for the first time while using the setInteral() method </h3>
   <div id = "output"> </div>
   <script>
      let output = document.getElementById('output');
      (function test() {
         output.innerHTML += "The test() function is invoked!" + "<br>";
         setInterval(test, 3000);
      })()
   </script>
</body>
</html>
Copy after login

用户第一次学会了如何无延迟地调用 setInterval() 方法中使用的函数。用户可以第一次调用该函数,也可以使用立即调用的函数表达式。

建议首次调用该函数,而不是使用立即调用的函数表达式,因为它会递归调用该函数。经过一段时间间隔后,当我们在其中使用 setInterval() 方法时,立即调用的函数表达式会无限次调用该函数。

The above is the detailed content of How to trigger a setInterval loop immediately using JavaScript?. For more information, please follow other related articles on the PHP Chinese website!

source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template