JavaScript定时器setTimeout()和setInterval()详解

JavaScript定时器setTimeout()和setInterval()详解

在前端开发中,经常会用到定时器来控制代码的执行时间。而JavaScript中提供了两个定时器函数setTimeout()和setInterval(),本文详细讲解它们的用法及区别。

setTimeout()

setTimeout()函数可以让指定的代码在指定的时间后执行一次。它的语法如下:

setTimeout(function, milliseconds);

其中,function是要执行的代码,毫秒数(milliseconds)是指定的时间。如下面的例子,代码将在1000毫秒(1秒)后执行:

setTimeout(function(){
    console.log('Hello setTimeout!'); 
}, 1000);

需要注意的是,setTimeout()函数只会执行一次。如果需要多次执行,可以结合递归调用实现。

setInterval()

setInterval()函数可以让指定的代码每隔一定时间执行一次。它的语法如下:

setInterval(function, milliseconds);

其中,function是要执行的代码,毫秒数(milliseconds)是指定的时间。如下面的例子,代码将每隔1000毫秒(1秒)执行一次:

setInterval(function(){
    console.log('Hello setInterval!'); 
}, 1000);

需要注意的是,setInterval()函数会持续执行,直到调用clearInterval()函数停止为止。如下面的例子,代码将在5秒后停止执行:

var intervalId = setInterval(function(){
    console.log('Hello setInterval!'); 
}, 1000);

setTimeout(function(){
    clearInterval(intervalId);
}, 5000);

在上面的代码中,setInterval()函数每隔1秒执行一次,而使用setTimeout()函数调用clearInterval()函数可以让它在5秒后停止执行。

小结

setTimeout()和setInterval()函数是JavaScript中常用的定时器函数。setTimeout()函数让代码在一定时间后执行一次,而setInterval()函数让代码每隔一定时间执行一次。需要注意的是,setInterval()函数需要使用clearInterval()函数停止执行,否则它将会一直执行下去。

示例说明

示例1

以下代码演示如何使用setTimeout函数实现3秒后输出"Hello setTimeout!"并且输出“Hello setTimeout!”的递归调用,不停输出。

setTimeout(function(){
    console.log('Hello setTimeout!'); 
    setTimeout(arguments.callee,3000);
},3000);

示例2

以下代码演示如何使用setInterval函数实现每隔1秒输出“Hello setInterval!”并且在5秒后停止输出。

var intervalId = setInterval(function(){
    console.log('Hello setInterval!'); 
}, 1000);

setTimeout(function(){
    clearInterval(intervalId);
}, 5000);

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript定时器setTimeout()和setInterval()详解 - Python技术站

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

相关文章

  • IE浏览器不支持getElementsByClassName的解决方法

    IE浏览器不支持 getElementsByClassName 方法,而该方法可以非常方便地获取文档中指定 class 名称的元素集合。在解决这个问题之前,先简要了解下 getElementsByClassName 方法的用法。 getElementsByClassName 方法 document.getElementsByClassName(classna…

    JavaScript 2023年6月11日
    00
  • javascript setTimeout()传递函数参数(包括传递对象参数)

    JavaScript中的setTimeout函数用于在指定的时间内延迟执行一个函数或一段代码。该函数接受两个参数:要运行的函数和延迟执行的时间(以毫秒为单位)。在这里,我们将讨论如何传递函数参数(包括传递对象参数)。 传递函数参数 要向setTimeout函数传递一个函数参数,我们可以将函数名称作为第一个参数传递给setTimeout函数,并将函数参数作为第…

    JavaScript 2023年6月11日
    00
  • 解读邮箱正则表达式:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

    首先,这个正则表达式用于验证邮箱的格式是否正确。下面我会逐个解读每一个符号的含义。 ^ 表示匹配字符串的开头。 \w+ 表示匹配字母、数字、下划线至少一次,这部分表示邮箱用户名部分。 ([-+.]\w+)* 表示匹配特殊字符 -、+、. 后面跟一个或多个字母、数字、下划线,0次或多次。这部分表示邮箱用户名中的特殊字符部分,可以没有。 @ 表示匹配到 at 符…

    JavaScript 2023年6月10日
    00
  • 微信小程序接入腾讯云验证码的方法步骤

    下面就为你详细讲解“微信小程序接入腾讯云验证码的方法步骤”的完整攻略。 一、前置准备 1.1 注册腾讯云账户 首先需要前往腾讯云官网注册一个账号,如果已有腾讯云账户则可以直接登录。 1.2 在腾讯云上开通验证码服务 在腾讯云控制台中,搜索并进入“验证码”服务,按照提示开通并配置相应的参数。 1.3 在小程序后台获取小程序 appid 在微信公众平台的小程序管…

    JavaScript 2023年6月10日
    00
  • Vue实现浏览器端扫码功能

    下面是Vue实现浏览器端扫码功能的完整攻略: 1. 使用第三方库实现扫码 使用第三方库是最简单的实现方式之一。可以使用ZXing-js库,它提供了 JavaScript 代码中解码和编码二维码和条形码的功能。 步骤 安装ZXing-js: bash npm install @zxing/library 在 Vue 应用中引入 ZXing-js: javasc…

    JavaScript 2023年6月11日
    00
  • JavaScript设计模式之模板方法模式原理与用法示例

    JavaScript设计模式之模板方法模式 简介 模板方法模式(Template Method Design Pattern)又称为模板模式,是一种行为型设计模式。在该模式中,定义一个操作中的算法骨架,而将一些步骤延迟到子类中实现。也就是说,在父类中定义好算法的骨架,具体实现留给子类去实现,这样就可以保证算法的整体流程在父类中控制,所有子类遵循相同的规则去按…

    JavaScript 2023年6月10日
    00
  • jquery及js实现动态加载js文件的方法

    首先,为了动态加载 JavaScript 文件,我们需要使用 JavaScript/jQuery 中的 createElement 和 appendChild 方法。下面是详细步骤: 使用原生JS动态加载外部JS文件 通过 createElement 创建一个 script 标签: javascript var script = document.creat…

    JavaScript 2023年5月27日
    00
  • JS限制输入框输入的实现代码

    实现JS限制输入框输入有多种方法,本攻略将介绍两种实现方式,分别是使用input事件和使用正则表达式。下面将分别进行详细讲解。 使用input事件进行限制输入 input事件可监听输入框中的输入,可以通过在事件回调函数中处理字符串来限制输入。下面是一个示例代码,将限制输入框只能输入数字: <input type="text" id=…

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