JS延时定时器——让JavaScript程序按你的规则执行

一、JS延时定时器方法

在JavaScript中,我们用setTimeout()方法和setInterval()方法来实现延时和定时的效果。


// setTimeout()方法,延时一次性执行
setTimeout(function(){
    console.log('延时1秒后执行');
}, 1000);

// setInterval()方法,定时执行,直到 clearInterval()结束
let i = 0;
let intervalId = setInterval(function(){
    i++;
    console.log('第' + i + '次执行');
}, 1000);
setTimeout(function(){
    clearInterval(intervalId);
}, 5000);

二、JS延时器的使用方法

setTimeout()方法和setInterval()方法的使用都需要传递两个参数,第一个参数是一个函数,第二个参数是表示毫秒数的数字。

setTimeout()方法的函数只执行一次,执行后就结束了。

setInterval()方法的函数会每隔一段时间重复执行,除非你使用clearInterval()函数停止它。

三、定时器延时程序

在一些场合下,我们需要延时一段时间后再运行程序。这时候就可以使用setTimeout()方法来实现定时效果。


// 例子1:延迟3秒后弹出提示框
setTimeout(function(){
    alert('三秒后弹出提示框');
}, 3000);

// 例子2:延迟5秒后更改背景颜色
setTimeout(function(){
    document.body.style.backgroundColor = 'red';
}, 5000);

四、定时器延时器

setInterval()方法会每隔一段时间重复执行一次,除非用clearInterval()函数停止它。


// 例子1:每秒钟打印一次当前时间
setInterval(function(){
    let now = new Date();
    console.log(now);
}, 1000);

// 例子2:每隔2秒钟把一组数字写入文档
let i = 0;
setInterval(function(){
  let element = document.createElement('div');
  element.innerHTML = i++;
  document.body.appendChild(element);
}, 2000);

五、JS延时定时器加递归函数

递归函数可以让延时定时器变得更有用。它可以让定时器每隔一段时间就不停地执行一段代码。


// 例子:每一秒钟弹出一个提示
function repeat(func, interval) {
  var timerId = setInterval(function() {
    func();
  }, interval);
  return timerId;
}

var hello = 0;
function sayHello() {
  hello++;
  if (hello > 5) {
    clearInterval(timerId);
  } else {
    setTimeout(function() {
      alert("Hello!");
      sayHello();
    }, 1000);
  }
}
var timerId = repeat(sayHello, 2000);

六、JS延时定时器越来越快

在使用setInterval()方法时,它的执行时间是从
“开始时间 + 延迟时间 = 执行时间”
这样的公式计算的。但是实际应用中,我们可能需要设置动态的延迟时间,让程序的执行速度越来越快。


// 例子:每隔3秒钟执行一次,延时时间越来越短,直到延时时间为0
let delay = 3000;
let timerId = setTimeout(function tick() {
  console.log('执行了一次');
  delay -= 100;
  if(delay < 0) delay = 0;
  timerId = setTimeout(tick, delay);
}, delay);

七、断开延时定时器

在一些情况下,我们需要“断开”一个已经运行的setTimeout()或setInterval(),以防止程序继续执行。


// 例子:每3秒钟执行一次,执行5次后停止
let i = 0;
let intervalId = setInterval(function(){
    i++;
    console.log('第' + i + '次执行');
    if(i >= 5) clearInterval(intervalId);
}, 3000);

八、关断延时定时器

断电或者关闭网页时,尚未执行的setTimeout()或setInterval()操作可能会引起不必要的麻烦。为了避免这些问题,我们需要关闭这些定时器。


// 例子:延时10秒后停止
let i = 0;
let timeoutId = setTimeout(function(){
    console.log('延时执行了一次');
}, 10000);
window.addEventListener('beforeunload', function(){
    clearTimeout(timeoutId);
});

九、PLC断电延时定时器

在PLC(Programmable Logic Controller,可编程逻辑控制器)中,断电延时定时器是一种常用的计时方式,它可以在PLC断电后延时若干秒再次启动。
但在JS中,JS程序与硬件不同,需要判断当前时间和启动时间的差值,来判断是否需要执行延时操作。


function plcDelay(ms){
    let now = new Date().getTime();
    while(new Date().getTime() < now + ms){
    }
}
// 例子:延时1秒,然后输出“延时1秒后执行”
console.log('开始执行');
plcDelay(1000);
console.log('延时1秒后执行');

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/244335.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 13:01
下一篇 2024-12-12 13:01

相关推荐

  • Python官网中文版:解决你的编程问题

    Python是一种高级编程语言,它可以用于Web开发、科学计算、人工智能等领域。Python官网中文版提供了全面的资源和教程,可以帮助你入门学习和进一步提高编程技能。 一、Pyth…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • 掌握magic-api item.import,为你的项目注入灵魂

    你是否曾经想要导入一个模块,但却不知道如何实现?又或者,你是否在使用magic-api时遇到了无法导入的问题?那么,你来到了正确的地方。在本文中,我们将详细阐述magic-api的…

    编程 2025-04-29
  • Python购物车程序

    Python购物车程序是一款基于Python编程语言开发的程序,可以实现购物车的相关功能,包括商品的添加、购买、删除、统计等。 一、添加商品 添加商品是购物车程序的基础功能之一,用…

    编程 2025-04-29
  • 爬虫是一种程序

    爬虫是一种程序,用于自动获取互联网上的信息。本文将从如下多个方面对爬虫的意义、运行方式、应用场景和技术要点等进行详细的阐述。 一、爬虫的意义 1、获取信息:爬虫可以自动获取互联网上…

    编程 2025-04-29
  • Vb运行程序的三种方法

    VB是一种非常实用的编程工具,它可以被用于开发各种不同的应用程序,从简单的计算器到更复杂的商业软件。在VB中,有许多不同的方法可以运行程序,包括编译器、发布程序以及命令行。在本文中…

    编程 2025-04-29
  • Python一元二次方程求解程序

    本文将详细阐述Python一元二次方程求解程序的相关知识,为读者提供全面的程序设计思路和操作方法。 一、方程求解 首先,我们需要了解一元二次方程的求解方法。一元二次方程可以写作: …

    编程 2025-04-29
  • 如何使用GPU加速运行Python程序——以CSDN为中心

    GPU的强大性能是众所周知的。而随着深度学习和机器学习的发展,越来越多的Python开发者将GPU应用于深度学习模型的训练过程中,提高了模型训练效率。在本文中,我们将介绍如何使用G…

    编程 2025-04-29

发表回复

登录后才能评论