JavaScript 中延时器和定时器

简介: JavaScript 中延时器和定时器是非常常用的两个工具,它们提供了调度代码执行的机制,帮助我们实现更加智能的前端交互效果。 1. 延时器(setTimeout)`setTimeout()` 方法用于在指定的时间后执行一段代码。它接受两个参数:第一个参数指定要执行的代码,第二个参数指定何时执行该代码(单位是毫秒)。示例代码:```console.log('start');setTimeout(() => { console.log('延时器回调执行');}, 3000);console.log('end');```在上面的代码中,首先打印 `start`,之

JavaScript 中延时器和定时器是非常常用的两个工具,它们提供了调度代码执行的机制,帮助我们实现更加智能的前端交互效果。

  1. 延时器(setTimeout)

setTimeout() 方法用于在指定的时间后执行一段代码。它接受两个参数:第一个参数指定要执行的代码,第二个参数指定何时执行该代码(单位是毫秒)。

示例代码:

console.log('start');
setTimeout(() => {
  console.log('延时器回调执行');
}, 3000);
console.log('end');

在上面的代码中,首先打印 start,之后定义了一个 setTimeout 延时器,它将在 3 秒(即 3000 毫秒)后执行一个回调函数,回调函数中打印 延时器回调执行。最后打印 end。因此,控制台输出结果应该是:

start
end
延时器回调执行
  1. 定时器(setInterval)

setInterval() 方法用于按照指定的时间间隔重复执行一个代码块,它接受两个参数:第一个参数指定要执行的代码,第二个参数指定执行的时间间隔(单位是毫秒)。

示例代码:

console.log('start');
let intervalId = setInterval(() => {
  console.log('定时器回调执行');
}, 1000);
setTimeout(() => {
  clearInterval(intervalId);
  console.log('定时器已取消');
}, 5000);
console.log('end');

在上面的代码中,首先打印 start,之后定义了一个 setInterval 定时器,它将每秒重复执行一个回调函数,回调函数中打印 定时器回调执行。同时,我们还定义了一个 setTimeout 延时器,在 5 秒后取消 setInterval 定时器,并在控制台中打印 定时器已取消。最后打印 end。因此,控制台输出结果为:

start
end
定时器回调执行
定时器回调执行
定时器回调执行
定时器已取消

需要注意的是,定时器和延时器执行的次数取决于代码的执行时间。如果代码执行的时间超过了延时器或定时器规定的执行时间,那么后续的执行就会被延迟。因此,在使用这些函数时,需要仔细考虑执行时间和代码复杂度,以免引起不必要的问题。

相关文章
|
2月前
|
JavaScript 前端开发
解决在JS中阻止定时器“重复”开启问题、Vue中定时器的使用
这篇文章讨论了在JavaScript和Vue中如何避免定时器重复开启的问题,并提供了一个模拟场景和代码示例,演示了在开启新定时器前清除旧定时器的方法。
解决在JS中阻止定时器“重复”开启问题、Vue中定时器的使用
|
2月前
|
JavaScript 前端开发
js之永久定时器
js之永久定时器
|
2月前
|
JavaScript 前端开发
|
2月前
|
Web App开发 JavaScript 前端开发
JavaScript——定时器为什么是不精确的
JavaScript——定时器为什么是不精确的
39 0
|
2月前
|
JavaScript 前端开发
js之永久定时器
js之永久定时器
25 0
|
2月前
|
JavaScript 前端开发
js之一次性定时器
js之一次性定时器
23 0
|
3月前
|
JavaScript 前端开发
vue 模拟随机变速的动态打字特效【支持多行文本】(含css实现闪烁光标,js动态改变setInterval定时器的时间间隔)
vue 模拟随机变速的动态打字特效【支持多行文本】(含css实现闪烁光标,js动态改变setInterval定时器的时间间隔)
59 1
|
3月前
|
JavaScript
JS【详解】setTimeout 延时(含清除 setTimeout,计时开始时间,0 秒延时解析,多 setTimeout 执行顺序,setTimeout 应用场景,网红面试题)
JS【详解】setTimeout 延时(含清除 setTimeout,计时开始时间,0 秒延时解析,多 setTimeout 执行顺序,setTimeout 应用场景,网红面试题)
383 0
|
3月前
|
JavaScript
js 延时执行代码的最佳实践 —— 自定义 sleep 函数
js 延时执行代码的最佳实践 —— 自定义 sleep 函数
37 0
|
3月前
|
JavaScript 前端开发 Java
使用self.setInterval实现JavaScript定时器
使用self.setInterval实现JavaScript定时器