js超时调用setTimeout和间歇调用setInterval实例分析

JS超时调用setTimeout和间歇调用setInterval实例分析

setTimeout函数

setTimeout函数是JS中的一个高级函数,可以实现代码的延时执行。

语法:

setTimeout(function, delay, param1, param2, ...)
  • function:必选参数,是需要延时执行的函数或一个字符串经过编译生成的JS代码
  • delay:必选参数,是延时时间,单位是毫秒
  • param1,param2...:可选参数,是指向要传递给函数的参数,最多可以传递个数个函数的参数,参数可以是任何类型

使用示例:

// 延时1秒后,弹出“hello world”
setTimeout(function(){
    alert("hello world");
}, 1000);

setInterval函数

setInterval函数是JS中的一个高级函数,可以实现代码的循环定时执行。

语法:

setInterval(function, delay, param1, param2, ...)
  • function:必选参数,是需要循环定时执行的函数或一个字符串经过编译生成的JS代码
  • delay:必选参数,是定时执行的时间间隔,单位是毫秒
  • param1,param2...:可选参数,是指向要传递给函数的参数,最多可以传递个数个函数的参数,参数可以是任何类型

使用示例:

// 每隔1秒弹出“hello world”
setInterval(function(){
    alert("hello world");
}, 1000);

setTimeout与setInterval的差异

setTimeout和setInterval两个函数虽然都可以实现延时执行JS代码,但是它们在实现方式上有差别。

  • setTimeout函数只执行一次,执行完毕后结束;
  • setInterval函数则可以在指定的时间间隔内无限循环执行。

注意事项

使用setTimeout或setInterval函数时,需要注意以下点:

  1. 如果设置的时间间隔(delay)小于4毫秒,那么函数可能会被延迟执行或者忽略执行;
  2. 如果设置了系统休眠模式,则setTimeout和setInterval函数可能会被暂停执行,直到系统重新被唤醒;
  3. 当页面不处于激活状态(例如被最小化、后台运行等),setInterval函数会被暂停执行。

示例说明

示例一:倒计时

function countDown(){
    var countdownDom = document.getElementById('countdown');
    var time = parseInt(countdownDom.innerHTML);
    time -= 1;
    if(time <= 0){
        clearTimeout(timerId);
        countdownDom.innerHTML = "倒计时结束";
    }else {
        countdownDom.innerHTML = time;
    }
}

// 倒计时开始
var timerId = setInterval(countDown, 1000);

上述代码实现了一个简单的倒计时效果,每隔1秒钟更新一次倒计时数字,当倒计时结束后,停止执行,显示倒计时结束。

示例二:动画效果

var square = document.getElementById('square');
var step = 1;
function animation(){
    if(step < 100){
        square.style.left = (step++) + "px";
        setTimeout(animation, 10);
    }
}

// 动画效果开始
animation();

上述代码实现了一个简单的动画效果,将一个div元素从左向右移动,每10毫秒移动一个像素,当移动到100像素后,停止执行。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js超时调用setTimeout和间歇调用setInterval实例分析 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JS连接SQL数据库与ACCESS数据库的方法实例

    下面我来详细讲解JS连接SQL数据库与ACCESS数据库的方法实例的完整攻略。 一、连接SQL数据库 1. 安装node-mssql依赖 可以通过在命令行中输入以下命令安装: npm install mssql –save 2. 连接SQL Server数据库 在node.js中,需要使用mssql模块连接SQL Server数据库。下面是一个简单的示例:…

    JavaScript 2023年6月11日
    00
  • JavaScript如何调试有哪些建议和技巧附五款有用的调试工具

    JavaScript如何调试 调试是软件开发和编程中最重要的一环。JavaScript 也不例外,调试是找到和修复问题的关键步骤。接下来,我们将深入探讨 JavaScript 的调试方法和技巧,介绍五款流行的 JavaScript 调试工具。 如何调试 JavaScript 以下是 JavaScript 调试的步骤: 理解错误的类型:理解代码可能出现的不同类…

    JavaScript 2023年5月27日
    00
  • javascript动态获取登录时间和在线时长

    1. 获取登录时间 在Javascript中获取登录时间需要使用Date对象。可以在用户登录时记录服务器端的时间戳,然后将时间戳传递给前端,使用Date对象将时间戳转换成具体的日期时间,最后将日期时间显示在页面上。 例如,假设用户登录时服务器端返回的时间戳为 1574825471373,那么我们可以使用以下代码将时间戳转换成日期时间: const login…

    JavaScript 2023年5月27日
    00
  • javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)

    JavaScript HTMLEncode 和 HTMLDecode 的完整实例(兼容IE和Firefox) 本文将介绍如何使用 JavaScript 实现 HTML 编码和解码,以及如何使其兼容 IE 和 Firefox 浏览器。 HTML 编码和解码 HTML 编码和解码是将 HTML 特殊字符转换为实体编码和将实体编码转换回 HTML 特殊字符的过程。…

    JavaScript 2023年5月19日
    00
  • web前端开发JQuery常用实例代码片段(50个)

    “web前端开发jQuery常用实例代码片段(50个)”是一篇关于jQuery常用代码片段的文章,该文章包含了50个jQuery实例代码片段,这些代码片段可以快速地实现网页开发中常用的功能。 文章开头简要介绍了jQuery的背景和使用方式,随后列举了50个常用的代码片段,其中包括了网页布局、事件响应、表单处理、动画效果等方面的实例代码,这些实例代码可以帮助开…

    JavaScript 2023年5月28日
    00
  • 一篇文章让你搞懂JavaScript 原型和原型链

    作为网站的作者,我很高兴为您提供JavaScript原型和原型链的完整攻略。下面是几个关键点,可以帮助您更好地理解原型和原型链: 1. 什么是原型? JavaScript 中的每个对象都有一个 prototype 属性,该属性指向该对象的原型。原型是一个对象,它包含属性和方法,作为对象的模板。当您创建一个新对象时,它会继承原型中的属性和方法。原型可以理解为对…

    JavaScript 2023年6月10日
    00
  • Javascript中async与await的捕捉错误详解

    Javascript中async与await的捕捉错误详解 异步编程 在Javascript中,异步编程常常用于处理一些耗时的操作,例如读取服务器数据、文件读取或者用户输入等。 常见的异步编程方法有: 回调函数 Promise async/await 在这三种方法中,回调函数是最早被广泛采用的一种方式,它的另一种形式是事件监听器。然而,回调函数很容易出现回调…

    JavaScript 2023年5月18日
    00
  • javascript实现计算指定范围内的质数示例

    下面是详细讲解JavaScript实现计算指定范围内的质数的完整攻略。 目录 什么是质数? 计算指定范围内的质数的思路 实现计算指定范围内的质数的步骤 示例1:计算100以内的质数 示例2:计算1000以内的质数 什么是质数? 质数指的是只能被1和它本身整除的自然数,如2、3、5、7、11等等。质数在数学上具有非常重要的地位,也是密码学等领域的基础。 计算指…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部