前端基础(十三)_定时器(间歇定时器、延迟定时器)

简介: 本文介绍了JavaScript中定时器的使用,包括`setTimeout`和`setInterval`两种类型。`setTimeout`是实现延迟执行,即等待一定时间后执行一次指定的函数;而`setInterval`是实现间歇执行,即每隔一定时间就执行一次指定的函数。文章还介绍了如何使用`clearTimeout`和`clearInterval`来取消定时器的执行,并通过示例代码展示了定时器的创建和取消。

定时器

定时器共两种,setInterval及setTimeout:
1、setInterval:重复执行或者叫间歇执行,即隔某个时间就执行一次
2、setTimeout:延迟执行,延迟某个特定的时间开始执行,只执行一次
语法:

setTimeout(函数, 间隔时间(单位毫秒))
setInterval(函数, 间隔时间(单位毫秒))

1)setTimeout

setTimeout 是隔特定时间执行一次且只执行一次。
例1:setTimeout 隔一段时间后打印数字+1

setTimeout(function(){
   console.log(666)},100)

在这里插入图片描述
下面的5752是间歇定时器的ID,后续取消定时器执行的时候会用到。

取消定时器的执行:

clearTimeout(定时器的ID)

2)setInterval

setInterval,每隔指定的时间就调用一次函数。
例2:setInterval 在窗口打印数字

setInterval(function(){
   console.log(888)},5000)

每隔五秒打印一次,不取消定时器不会自动停止。
上面代码中,通过定时器,可以隔五秒就调用一次函数。
在这里插入图片描述
取消定时器的执行:

clearInterval(定时器的ID)

3)清除定时器clear

定时器一旦开启,就不会自动停止,假设我们现在要做一个倒计时10-0,那么当他到0的时候,是不是就应该停止当前的定时器,停止定时器我们需要使用clear,不同的定时器有不同的清除方式:
1、clearInterval(intervalId)
2、clearTimeout(intervalId)
intervalId是一个number数值,开启定时器时会返回一个能唯一标识当前定时器的id。如:var id = setInterval(function(){},1000),一般从1开始。
例 1:当变量s为0时,停止时间函数。

but.onclick = function () {
   
    var s = 60;
    // 返回 id 唯一能够标识当前定时器的
    var timer = setInterval(function () {
   
        s--;
        if(s === 0){
   
            clearInterval(timer);// 关闭定时器
        } 
        p.innerHTML = s;
        },1000)
};
目录
相关文章
|
前端开发 JavaScript
前端基础 - JavaScript定时器
前端基础 - JavaScript定时器
65 0
|
5月前
|
存储 前端开发 JavaScript
前端如何优雅的使用定时器?
前端如何优雅的使用定时器?
53 1
|
前端开发 芯片
【芯片前端】延迟一拍出数的握手型ram结构的一次探索
【芯片前端】延迟一拍出数的握手型ram结构的一次探索
109 0
|
7月前
|
前端开发 JavaScript 程序员
(前端面试题)详解 JS 的 setTimeout 和 setInterval 两大定时器
(前端面试题)详解 JS 的 setTimeout 和 setInterval 两大定时器
158 0
|
前端开发 JavaScript 数据可视化
javascript逐行显示数据及php实时输出前端内容后台保持继续运行的解决方案(setTimeout定时器、flush和ob_flush函数、安装进度展示)
javascript逐行显示数据及php实时输出前端内容后台保持继续运行的解决方案(setTimeout定时器、flush和ob_flush函数、安装进度展示)
206 0
|
JavaScript 前端开发
【Vue前端】路由延迟跳转
【Vue前端】路由延迟跳转
355 0
|
移动开发 前端开发 JavaScript
PHP定时更新数据库,定时器,定时任务详细讲解(通过前端触发)
PHP定时更新数据库,定时器,定时任务详细讲解(通过前端触发)
681 0
|
2月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
146 2
|
2月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
44 0
|
2月前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。

热门文章

最新文章