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

简介: 本文介绍了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)
};
目录
相关文章
|
11月前
|
前端开发 JavaScript
前端基础 - JavaScript定时器
前端基础 - JavaScript定时器
56 0
|
2月前
|
存储 前端开发 JavaScript
前端如何优雅的使用定时器?
前端如何优雅的使用定时器?
31 1
|
11月前
|
前端开发 芯片
【芯片前端】延迟一拍出数的握手型ram结构的一次探索
【芯片前端】延迟一拍出数的握手型ram结构的一次探索
|
4月前
|
前端开发 JavaScript 程序员
(前端面试题)详解 JS 的 setTimeout 和 setInterval 两大定时器
(前端面试题)详解 JS 的 setTimeout 和 setInterval 两大定时器
133 0
|
4月前
|
前端开发 JavaScript
setTimeout 函数在前端延迟搜索实现中的作用
setTimeout 函数在前端延迟搜索实现中的作用
|
前端开发 JavaScript 数据可视化
javascript逐行显示数据及php实时输出前端内容后台保持继续运行的解决方案(setTimeout定时器、flush和ob_flush函数、安装进度展示)
javascript逐行显示数据及php实时输出前端内容后台保持继续运行的解决方案(setTimeout定时器、flush和ob_flush函数、安装进度展示)
186 0
|
JavaScript 前端开发
【Vue前端】路由延迟跳转
【Vue前端】路由延迟跳转
324 0
|
移动开发 前端开发 JavaScript
PHP定时更新数据库,定时器,定时任务详细讲解(通过前端触发)
PHP定时更新数据库,定时器,定时任务详细讲解(通过前端触发)
661 0
|
13天前
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
1月前
|
存储 前端开发 JavaScript
前端语言串讲 | 青训营笔记
前端语言串讲 | 青训营笔记
24 0