首页 前端知识 JavaScript:setInterval() 用法详解

JavaScript:setInterval() 用法详解

2024-01-30 10:01:01 前端知识 前端哥 420 240 我要收藏

文章目录

  • 1 基本语法
  • 2 参数说明
  • 3 使用示例
  • 4 停止 setInterval() 方法

1 基本语法

setInterval() 是 JavaScript 中的一个内置函数,它用于在指定的间隔时间内重复执行一段代码,实现周期性操作。该函数的语法如下:

setInterval(function, milliseconds, param1, param2, ...)

2 参数说明

  • function:必需,要重复执行的函数或代码块。
  • milliseconds:必需,重复执行的时间间隔(以毫秒为单位)。
  • param1, param2, ...:可选,传递给要执行的函数的参数。如果无须传递参数,则省略此参数。

注意:

如果 setInterval() 函数的第一个参数是一个函数,那么该函数会在每个时间间隔后被调用,直到计时器被取消。

如果 setInterval() 函数的第一个参数是一个字符串,那么该字符串会被解释为一段要执行的 JavaScript 代码。这种用法已经被弃用,不建议使用。

如果 setInterval() 函数的时间间隔设为 0 或负数,那么该函数会立即执行第一个参数所表示的函数或代码,并且不会周期性地执行。

如果 setInterval() 函数的时间间隔设为较小的值,那么可能会因为浏览器的性能限制而导致定时器不准确。建议将时间间隔设为 100 毫秒或以上,以保证计时器的准确性。

3 使用示例

使用匿名函数作为第一个参数,用来输出当前时间,间隔时间是1000毫秒即1秒钟。

// 每秒钟输出一次当前时间
setInterval(function() {
  console.log(new Date().toLocaleTimeString());
}, 1000);

4 停止 setInterval() 方法

setInterval() 方法会返回一个计时器ID,可以通过该计时器ID来取消计时器的执行,方法如下:

intervalId = setInterval(function() {
  console.log(new Date().toLocaleTimeString());
}, 1000);

clearInterval(intervalId );

其中,intervalId 是一个变量,用于保存 setInterval() 方法返回的计时器对象ID。调用 clearInterval() 方法后,就可以取消计时器的执行。

示例: 打印5次后,取消计时器的执行。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var counter = 0;
        maxNum = 5;
        function myFunc() {
            var date = new Date();
            console.log(date.toLocaleTimeString());
            counter++;
            if (counter == maxNum) {
                clearInterval(intervalId);
                console.log('已打印' + maxNum + "次");
            }
        }

        var intervalId = setInterval(myFunc, 1000);
    </script>
</body>

</html>

打印结果:

在这里插入图片描述

转载请注明出处或者链接地址:https://www.qianduange.cn//article/780.html
标签
开发语言
评论
会员中心 联系我 留言建议 回顶部
复制成功!