JS-定时器

本文详细介绍了JavaScript中的延时定时器setTimeout和间隔定时器setInterval的语法、返回值以及如何使用clearInterval和clearTimeout来管理定时器。同时讨论了定时器执行的异步特性及时间计算在不同浏览器环境下的精确度。
摘要由CSDN通过智能技术生成
  • 定时器分为两种
  • 延时定时器(爆炸定时器)
    • 语法:setTimeout(函数, 毫秒数)
    • setTimeout执行,开启定时器后,经过传入的毫秒数后则执行一次传入的函数
  • 间隔定时器
    • 语法:setInterval(函数, 毫秒数)
    • setInterval执行,开启定时器后,每经过传入的毫秒数后则执行一次传入的函数

注意:定时器中传入的函数是异步代码

  • 定时器的返回值
    • 两种定时器的返回值都一样
      • 返回一个数值,表示页面中开启的第几个定时器
      • 定时器的返回值也就是这个定时器的标识
    • 作用:用于关闭定时器使用
  • 关闭定时器
    • 语法1:clearInterval(定时器标识)
    • 语法2:clearTimeout(定时器标识)
    • 注意:每一种语法都可以关闭两种定时器,只要传入对应的定时器标识
// 开启setTimeout延时定时器
var timerId1 = setTimeout(function () {
    console.log('延时定时器触发了');
}, 1000);

// 开启setInterval间隔定时器
var timeId2 = setInterval(function () {
    console.log('间隔定时器触发了');
}, 1000);

// 给document(页面的文档)绑定一个点击事件
document.onclick = function () {
    // 关闭定时器
    // clearInterval(timerId1);
    // clearInterval(timerId2);
    clearTimeout(timerId1);
    clearTimeout(timerId2);
}
  • setTimeout/setInterval的第三个参数开始,就是给传入的函数执行时传递的实参值
setTimeout(function(a, b, c) {
    console.log(a, b, c); // 10 20 30
}, 1000, 10, 20, 30);

定时器时间计算的精确度,取决于浏览器运行环境

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JavaScript时钟定时器是一种利用JavaScript编程语言实现的定时调用函数的方法。通过使用定时器,可以在网页上创建实时更新的时钟效果。在给定的时间间隔内,定时器会定期调用指定的函数,以更新时钟显示。定时器通常用于制作在线时钟、图片轮播、广告弹窗等自动执行的功能。 在给出的HTML代码中,通过使用window.onload函数,当页面加载完成后,设置了一个定时器(timer)来调用show函数,实现页面上时钟动态更新的效果。show函数通过获取div元素的id并将当前时间转换为字符串的形式,实时更新div内的内容。同时,还提供了开始和停止按钮,分别用于开启和清除定时器(timer)。当点击开始按钮时,会重新启动定时器,调用show函数更新时钟显示;当点击停止按钮时,会清除定时器,停止时钟的更新。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [JavaScript事件添加定时器](https://download.csdn.net/download/qq_62259825/85664312)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [JavaScript-可控制的时钟(定时器)](https://blog.csdn.net/qq_40757071/article/details/82784848)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Turbosaa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值