js定时器

  1. 定时执行,每隔一段时间执行一次
    setInterval(fn, 间隔时间单位毫秒)
    setInterval(‘fn()’, 间隔)
    setInterval(function(){}, 间隔)
  2. 延时执行,在指定的时间执行一次
    setTimeout(fn, 间隔);
    setTimeout(‘fn()’, 间隔);
    setTimeout(function(){},间隔);
  3. 定时器的关闭
    clearIntervale(handler),handler需要关闭那个定时器
    clearTimeout(handler) ,handler需要关闭那个延时器
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
    </body>
    <script>
        function fn(){
            // Date是期的类(对象,object)
            // new Date();创建一个日期对象
            console.log(new Date());    // 现在的时间
        }

        // setInterval(fn, 1000);// 每间隔1秒输出一次时间
        // setInterval('fn()', 1000);
//      setInterval(function(){
//          console.log(new Date());
//      }, 1000);


        /*function timeoutfn(){
            console.log('开始延时执行代码:' + new Date());
            console.log('延时执行');
        }
        //setTimeout(timeoutfn, 2000);
        //setTimeout('timeoutfn()', 2000);
        setTimeout(function(){
            console.log('开始延时执行代码:' + new Date());
            console.log('延时执行');
        }, 2000);
        console.log('调用延时执行后:' + new Date());*/

        var handler1 = setInterval(function(){
            console.log('定时器1');
        }, 1000);
        var handler2 = setInterval(function(){
            console.log('定时器2');
        }, 1000);

        setTimeout(function(){
            clearInterval(handler1); // 关闭第1个定时器
        }, 3000);   // 3秒后关闭第1个定时器
    </script>
</html>
### JavaScript 定时器 `setTimeout` 和 `setInterval` 的使用方法 JavaScript 提供了两种主要的定时器函数:`setTimeout` 和 `setInterval`,它们用于延迟执行或周期性地执行一段代码。 #### 1. `setTimeout` `setTimeout` 函数用于在指定的时间后执行一次回调函数。其基本语法如下: ```javascript setTimeout(function, delay, param1, param2, ...); ``` - **function**: 要执行的回调函数。 - **delay**: 延迟的时间(以毫为单位)。 - **param1, param2, ...**: 可选参数,传递给回调函数。 例如: ```javascript function Fun3(str1) { alert(str1); } var timer = setTimeout(Fun3, 2000, "参数1"); // 2后弹出“参数1” clearTimeout(timer); // 清除定时器,防止执行 ``` 上述代码展示了如何设置一个定时器并在两后执行回调函数[^1]。如果需要提前停止定时器,可以使用 `clearTimeout` 方法[^3]。 #### 2. `setInterval` `setInterval` 函数用于每隔指定的时间间隔重复执行回调函数。其基本语法如下: ```javascript setInterval(function, delay, param1, param2, ...); ``` - **function**: 要执行的回调函数。 - **delay**: 每次执行之间的间隔时间(以毫为单位)。 - **param1, param2, ...**: 可选参数,传递给回调函数。 例如: ```javascript var counter = 0; var intervalId = setInterval(function () { console.log("计数:", counter++); if (counter > 5) { clearInterval(intervalId); // 当计数超过5时停止定时器 } }, 1000); // 每隔1执行一次 ``` 上述代码展示了如何设置一个每执行一次的定时器,并在满足条件时通过 `clearInterval` 方法停止定时器[^2]。 #### 区别与注意事项 - **执行次数**:`setTimeout` 只执行一次,而 `setInterval` 会不断重复执行直到被清除。 - **清除方法**:`setTimeout` 使用 `clearTimeout`,`setInterval` 使用 `clearInterval`。 - **返回值**:两者都会返回一个唯一的标识符,用于清除对应的定时器。 ### 示例代码 以下是一个结合 `setTimeout` 和 `setInterval` 的完整示例: ```javascript // 使用setTimeout setTimeout(() => { console.log("这是setTimeout输出"); }, 3000); // 使用setInterval let count = 0; const intervalId = setInterval(() => { console.log("当前计数:", count++); if (count > 5) { clearInterval(intervalId); // 停止计时器 } }, 1000); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值