计时器
时间:2025-02-05 14:15:51 125浏览 收藏
怎么入门文章编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《计时器》,涉及到,有需要的可以收藏一下
JavaScript计时器让您能够在指定时间执行代码,或以固定间隔重复执行。主要有两种计时器:setTimeout()
和 setInterval()
。两者都用于安排代码在延迟后运行,但行为有所不同。
setTimeout()
setTimeout()
在指定的延迟后仅执行一次函数或代码块。
-
工作原理: 告诉JavaScript“等待一段时间后,再执行这段代码”。
-
语法:
setTimeout(function, delay, ...args);
- 示例:
function sayHello() {
console.log("Hello, world!");
}
// 3秒后调用 sayHello() (3000毫秒)
setTimeout(sayHello, 3000);
在这个例子中,sayHello
函数会在3秒后执行。setTimeout()
接受两个参数:
-
要执行的函数 (
sayHello
)。 -
延迟时间,单位为毫秒 (3000毫秒 = 3秒)。
-
...args
(可选): 传递给函数的其他参数。 -
要点:
-
非阻塞:
setTimeout()
不会阻塞其他代码的执行。JavaScript在等待超时期间继续执行其他语句。 -
毫秒: 延迟以毫秒为单位,最小延迟为1毫秒。
-
单次执行: 回调函数只会在指定时间后调用一次。
setInterval()
setInterval()
以指定的间隔(毫秒)重复执行代码块或函数,直到手动停止。
-
工作原理: 告诉JavaScript“每隔一段时间就执行这段代码”。
-
语法: (语法与
setTimeout
类似,只是功能不同) -
示例:
function sayHelloAgain() {
console.log("Hello again!");
}
// 每2秒调用 sayHelloAgain() (2000毫秒)
setInterval(sayHelloAgain, 2000);
这里,setInterval()
内部的代码会每2秒执行一次。
-
要点:
-
非阻塞: 类似于
setTimeout()
,setInterval()
也是非阻塞的。浏览器在等待下一个间隔时继续执行其他任务。 -
重复执行: 与只执行一次的
setTimeout()
不同,setInterval()
会以指定间隔持续执行回调函数。 -
手动停止: 该函数会持续运行,直到使用
clearInterval()
手动停止。
- 清除计时器
您可以使用 clearTimeout()
和 clearInterval()
来停止计时器。
- 停止
setTimeout()
计时器:
如果想在执行前取消超时,可以使用 clearTimeout()
:
function sayHello() {
console.log("Hello, world!");
}
const timeoutId = setTimeout(sayHello, 4000);
// 在执行前停止超时
clearTimeout(timeoutId);
- 停止
setInterval()
计时器:
const intervalId = setInterval(sayHello, 1000);
// 5秒后停止间隔
setTimeout(() => {
clearInterval(intervalId);
console.log("Interval timer stopped");
}, 5000);
这里,我们首先启动一个每秒执行的间隔。然后,5秒后,我们使用 setTimeout()
和 clearInterval(intervalId)
来停止间隔。
关键概念总结:
setTimeout()
:在指定的延迟后执行一次函数。setInterval()
:以指定的间隔重复执行函数。clearTimeout()
/clearInterval()
:用于取消计时器。- 异步特性: 计时器不会阻塞其他代码的执行;它们会被添加到事件队列中,并在调用堆栈为空时执行。
- 精度: 由于繁重的计算或浏览器限制等因素,计时器的精度无法保证。
今天关于《计时器》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
164 收藏
-
224 收藏
-
404 收藏
-
331 收藏
-
449 收藏
-
284 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习