settimeout重复执行用法
    前言
js实现轮播图最简代码    Javascript 是一门极其灵活的编程语言,它不仅可以实现与用户交互的动态效果,还可以通过 DOM 操作和 AJAX 技术实现与服务器的交互,功能十分强大。其中,定时任务是 Javascript 开发中最常用的功能之一。针对定时执行任务这一问题,Javascript 提供了多种方法,其中 setTimeout() 函数就是实现定时循环的最简单方式。
    在本文中,我们将会探讨使用 setTimeout() 函数执行循环操作的方法、技巧和注意事项。我们将从以下几个方面进行展开:
    1. 定时执行任务的背景
    2. setTimeout() 函数基础知识
    5. 总结
    在 Web 应用程序中,我们经常需要编写一些需要定时执行的任务,例如轮播图、实时数据
更新、定时保存数据等。此时,我们需要使用一些特定的方法来实现这些任务。Javascript 中,常用的定时器有 setInterval() 和 setTimeout()。
    setInterval() 函数表示每隔一段时间执行一次指定的脚本代码。但是,使用 setInterval() 函数容易出现问题,例如遗漏一些任务、定时器偏移等。因此,使用 setTimeout() 函数可以避免这些问题。
    setTimeout() 函数是浏览器内置的一个函数,用于在指定的时间间隔后执行指定的任务。在以下内容中,我们将进一步探讨 setTimeout() 函数的使用方法。
    setTimeout() 函数属于 Window 对象的一部分,在使用前不需要先创建对象。
    语法:
    setTimeout(function, milliseconds, param1, param2, ...);
    参数说明:
    function:必选参数,将要执行的函数或一段 JS 代码语句。可以是函数名或一个匿名函数
表达式,并且可以包含一个或多个参数。
    milliseconds:必选参数,执行方法之前需要等待的时间,单位是毫秒(1秒等于1000毫秒)。
    param1, param2, ...:可选参数,将传递到 function 中的参数,多个参数用逗号分隔。
    返回值:
    定时器ID,该值可以用于调用 clearTimeout() 函数来取消定时操作。
    setTimeout() 函数最常见的用法是通过多次调用该函数来模拟循环操作。它的实现方法如下:
    // 定义一个循环函数
    function loop() {
        // Do Something;
        setTimeout(loop, 1500); // 循环执行,每 1.5 秒执行一次
    }
    // 执行循环操作
    setTimeout(loop, 1500);
    以上代码定义了一个循环函数 loop(),函数中的代码填充了具体的操作内容。setTimeout(loop, 1500) 将循环函数以及设置的时间间隔作为参数传递给 setTimeout() 函数,这样就可以实现定时循环操作了。
    1、递归调用
    通过递归调用延迟函数的方式可以实现循环执行多个操作的效果。setTimeout() 函数执行完一段代码后会通过返回值的方式返回一个定时器 ID,后续可以通过该 ID 取消该定时器。
    递归执行可以使用下面的方法实现:
    以上代码定义了一个递归函数 recursiveFn(),在函数中执行操作后通过 setTimeout() 函数递归执行,可以获得一个 3 秒的时间间隔并重复执行该函数。
    2、定时器延迟
    setTimeout() 函数的时间参数不是一个绝对的时间值,而是一个指定时间后执行任务的一个时间差。这个时间差不保证准确无误,因为时间差会受到浏览器中其他任务的影响。因此,定时器的运行时间会因为浏览器的负载而受到影响。
    为了避免这种影响,可以在定时器执行代码之前将当前时间存储在变量中,紧接着计算出定时器的执行时间,最后确定代码执行时间。
    3、清除定时器
    定时任务完成后,为避免无用任务浪费资源,最好使用 clearTimeout() 函数清除我们创建的定时器。在使用 setTimeout() 函数时,函数会返回一个定时器 ID,我们可以使用这个 ID 来取消定时器。例如:
    clearTimeout(timer);
    4、定时器执行过程中的动态变化
    在执行定时器方法时,可以动态更改循环时间。
    例如:
    // 定义动态变化的定时器,初始时间是 1000
    let dynamic_timer = setTimeout(function(){ 
        console.log("1"); 
        console.log("2");
        console.log("3");
        setTimeout(dynamic_timer, 1000 * 5); // 运行中动态更改时间为 5000
    }, 1000);
    在上例中,使用了 setTimeout() 函数以及定时器 ID 动态更改了定时器的时间。首先设置定时器的开始时间为 1000 毫秒,然后在任务执行过程中修改了定时器的时间为 5000 毫秒。
    五、总结
    setTimeout() 函数是 Javascript 开发中经常使用的一个定时器方法,该方法可用于模拟循环操作,执行递归调用,定时器延迟和清除定时器操作。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。