setTimeout 详解

JS & setTimeout/setInterval、requestAnimationFrame 的关系以及回调函数、Promise、async/await 异步操作 掌握 setTimeout、回调函数、Promise/async 异步操作含义 阅读详情

1. setTimeout 定义

setTimeout( )是属于 window 的 method, 但我们都是略去 window 这顶层物件名称, 这是用来设定一个时间, 时间到了, 就会执行一个指定的 method。

setTimeout()方法设置一个定时器,该定时器在定时器到期后执行一个函数或指定的一段代码。

2. 参数详解

刚刚在研究promise的时候,发现setTimeout( )不止有两个参数。
此处附加一个官网链接: → setTimeout - MDN
在这里插入图片描述
由此可见,第一个参数是回调函数,第二个参数是延迟时间,那被遗忘的第三个参数是什么呢?

setTimeout( function(){} , delay , arg1 )

简单的举个栗子:

setTimeout(
    function(props){
        console.log(props) //第三个参数是作为回调函数的参数来使用的
    },
    2000,
    '第三个参数是作为回调函数的参数来使用的'
)

在这里插入图片描述
第三个参数及以后的参数都可以作为 回调函数的参数

setTimeout(
    function(arg1,arg2,arg3){
        console.log(arg1*arg2-arg3)    // -1
    },
    2000,
   1,2,3
) 

在这里插入图片描述

若第三个参数作为函数

setTimeout(
    function(){
        console.log('外层函数')
    },
    2000,
  setTimeout(
    function(){
        console.log('内层函数')
    }, 0)
)

在这里插入图片描述
可以看到第三个参数还是先执行,然后再执行函数。

利用好setTimeout的第三个参数,相信会让你有意想不到的收获,希望可以帮助到你~

你真的知道 setimeout 和 setinterval 是怎么工作的吗? 嘿开发😀,你有没有遇到过JavaScript 中的setTimeout和setInterval方法,但你真的不知道它们是如何工作的以及它们各自的用例。在上面的示例中,我们创建了intervalId函数,我们使用它setInterval()来递增count变量并将其值每秒(1000 毫秒)打印到控制台。因此,为了让我们在特定时间段后停止或清除间隔,并且要做到这一点,我们将使用该setTimeout()方法。与前面的例子不同的是,interval 会停止,因为我们曾经clearInterval()停止过它。 阅读详情

相关推荐

速腾聚创多激光雷达点云采集,并用RVIZ进行显示

在ubuntu20.04系统下,使用速腾聚创官方提供的软件RSView,对激光雷达的默认IP地址、MSOP 包端口号、 DIFOP包端口号和时间模式等配置进行查看和修改。使用交换机对两个激光雷达进行组网,实现多激光雷达数据采集,并用RVIZ同时显示两个雷达点云。使用wireshark对比两个雷达数据包。

abanchao的博客 5887

JavaScript中setTimeout()的用法详解

要使用 clearTimeout( ), 我们设定 setTimeout( ) 时, 要给予这 setTimout( ) 一个名称, 这名称就是 timeoutID , 我们叫停时, 就是用这 timeoutID来叫停, 这是一个自定义名称,。这处的 flag 是一个变数, 可任意取名, 我们用 flag来称呼这变数的原因, 是因为这变数好处一支旗, 将旗竖起 (flag is on), 就会产生一个作用, 将旗放下 (flag is off), 就产生另一个作用。

suwu150 12万+

CubeMX配置ADC+DMA避坑实战:如何避免采样过快导致的系统崩溃

本文针对STM32开发中常见的ADC采样过快导致程序卡死问题,提供了基于CubeMX的实战避坑指南。通过分析ADC与DMA协作机制,详解时钟配置、采样时间、DMA缓冲区长度及中断设置等关键步骤,帮助开发者从源头规避系统崩溃风险,实现稳定可靠的数据采集。

weixin_28273593的博客 323

定时器setTimeout()、setInterval()详解

JavaScript 标准参考教程(alpha) 浏览器对象 定时器 GitHub  TOP  定时器 来自《JavaScript 标准参考教程(alpha)》,by 阮一峰 目录

风动之石的专栏 1万+

从 0 到 1:基于深度学习的图像识别系统开发实战

图像识别是指让计算机能够识别和理解图像中的内容,通常是通过计算机视觉技术来实现。深度学习,尤其是卷积神经网络(CNN),已经成为图像识别中最为流行和有效的技术。数据采集和预处理:获取并处理图像数据,使其适合于模型训练。模型训练:使用深度学习算法(如 CNN)训练模型,以学习图像中的特征。模型评估与优化:评估模型的性能,并通过调整超参数、优化算法等方法提高精度。模型部署与应用:将训练好的模型应用于实际的图像识别任务中。本文将带领你通过一个简单的图像分类问题,开发一个深度学习图像识别系统。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1217

STM32+LoRa模块实战:从环境搭建到数据传输完整指南(附避坑清单)

本文提供STM32与LoRa模块从环境搭建到数据传输的完整实战指南,涵盖硬件连接、开发环境配置、AT指令设置、频段优化及低功耗设计等关键步骤,特别针对常见问题提供解决方案和避坑清单,助力物联网开发者高效实现远距离低功耗通信。

weixin_29168813的博客 289

详解setTimeout()

前言:看了这篇文章,1.注意setTimeout引用的是全部变量还是局部变量了,当直接调用外部函数方法时,实际上函数内部的变量已经变成全局。2.提醒我防止出错的,用匿名函数不容易出错。3.setTimeout最快执行时间是4毫秒。4.使用setTimeout的函数会比当前队列的函数慢执行,在他们的后面。5.setTimeout中的定时器并不是准确的时间,实际中它需要在执行完前面的函数后才定时执行。 你还可以查阅关于setTimeout的相关介绍 JavaScript提供定时执行代码的功能,叫做定时器(tim

Moments 3万+

基于微信小程序的智能门禁管理系统的设计与实现(文章+源码)

基于微信小程序门禁管理小程序,该系统支持用户注册登录、查阅新闻动态、提交开门申请和发布留言等功能,同时管理员可以进行用户管理、新闻信息管理、门禁审批管理和留言管理等操作。该系统将采用IDEA开发工具、SSM框架和MYSQL数据库等相关技术,实现用户登录注册、个人信息管理、门禁申请提交、管理员审核等功能。该系统的实现,可以有效提高门禁管理的效率和便利性,同时也具有较强的可扩展性和可维护性。本研究对于智能门禁管理系统的设计和实现具有一定的参考价值。

u011779145的博客 1397

settimeout需要清除吗_为什么用 setTimeout 替代 setInterval?

用 JavaScript 写个定时器,规定某段代码隔一段时间执行一次,第一反应肯定是用 setInterval.例如规定每隔两百毫秒打印一次 hello, 就可以像下面这样写:setInterval上面的代码,每两百毫秒,将 console.log('hello') 推到事件队列。setIntreavl 的第一个参数是要重复执行的函数,第二个参数是重复执行的时间间隔,以毫秒为单位;返回值是 Num...

weixin_39653761的博客 6964

把 Client 当成 ABAP 系统的多租户底座:从 sy-mandt 到 CDS_CLIENT 的隔离机制与工程实践

本文深入解析SAP ABAP系统中Client概念的本质与应用。Client不仅是数据表的MANDT字段,更是会话级别的隔离边界,贯穿用户登录、授权和数据访问控制全过程。文章从ABAP SQL的隐式Client处理机制出发,详细介绍了USING CLIENT、USING ALL CLIENTS等安全跨客户端访问方式,并对比了传统CLIENT SPECIFIED的风险。同时阐述了ABAP CDS中@ClientHandling注解的类型与算法选择,包括#AUTOMATED自动拼接和#SESSION_VARIA

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 182

微观交通流仿真软件:SUMO (Simulation of Urban MObility)_(1).SUMO入门与基础概念

SUMO(Simulation of Urban MObility)是一个开源的微观交通流仿真软件,用于模拟城市交通系统中的各种动态行为。SUMO不仅可以模拟车辆的行驶,还可以模拟行人、自行车、公交车等交通参与者的运动。通过SUMO,研究人员和工程师可以对交通系统进行详细建模和分析,从而优化交通规划、评估交通政策和设计智能交通系统。车辆路径规划:SUMO可以模拟车辆在路网中的路径选择,包括动态路径选择和静态路径选择。交通信号控制:支持多种交通信号控制策略,包括固定时间控制、自适应控制等。多模式交通:模拟不同

kkchenjj的博客 1181

setTimeout执行时间

经典问题: js setTimeout 0秒,会立即执行吗? setTimeout 1000ms 若是没有其他任务,是到了时间立即执行么,若不是间隔是多久(浏览器刷新率按60帧算就是1000、60=16.7ms) setTimeout(function(){console.log("setTimeout执行了")},0) for(var i=0;i<1000000000;i++){ if(i==999999999){ console.log(i);

CamilleZJ的博客 4188

零基础DSP实战TMS320F28035:第九节,ADC比较器&EPWM

ADC比较器框图如下所示:-电压-----------------------------输出-电压A>电压B------------------ 1-电压A

sinat_30943509的博客 2534

【Javascript】setTimeout详解

setTimeout 是 JavaScript 中的一个非常有用的函数,用于安排一段代码在指定的时间延迟之后执行一次。它允许您安排代码的执行,这对于构建延时触发的事件、动画等都非常有用。在浏览器环境中,setTimeout 的最小延迟时间为 4 毫秒(即使您设置了小于 4 毫秒的延迟时间,它也会至少等待 4 毫秒)。setTimeout 函数返回一个 number 类型的值,代表定时器的标识符。setTimeout 是非阻塞的,这意味着在回调函数执行之前,JavaScript 会继续执行其他任务。

weixin_47351913的博客 1429

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

setTimeout和setInterval

在 JavaScript 中,setTimeout和。

北海几经夏的博客 931

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

react中settimeout_JS中setTimeout()的用法详解

1. SetTimeOut()1.1 SetTimeOut()语法例子1.2 用SetTimeOut()执行Function1.3 SetTimeOut()语法例子1.4 设定条件使SetTimeOut()停止1.5 计分及秒的counter2. ClearTimeout()3. Set Flag10.1 setTimeout( )setTimeout( ) 是属于 window 的 method...

weixin_32135505的博客 1724

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

执行settimeout后要清理吗_setTimeout 详解

要明确的是:本文不太适合新手阅读,需要有一定只是铺垫(比如你要知道堆和栈,宏任务和微任务的概念等)首先我们应明确有关settimeout的概念:setTimeout是异步执行的,堆栈中碰到setTimeout会交给浏览器内核处理,等待setTimeout达到触发条件(即设定的时间),再返回给执行队列。简而言之,就是计时的这个操作是在浏览器端进行的,在计时完成后,将settimeout中的操作放入事...

weixin_39961943的博客 7818

setTimeout方法

很多时候我们编写代码的时候都需要用到定时器,下面我给大家介绍一个方法,利用它我们也能做定时器。下面给大家介绍这个方法的几种常用的写法。 SetTimeout方法 第一种写法↓ setTimeout方法是指在指定时间后执行一次指定函数。强调!只执行一次! ObjSetTimeout后面的window可以省略不写。SetTimeout后面的括号传入函数名称,注意只是传入名称不能有括号,函数名称后面就...

weixin_44552233的博客 2万+

setTimeout是否阻塞

setTimeout是否阻塞

weixin_46925850的博客 2566

settimeout需要清除吗_第37节 计时器setTimeout和setInterval

本内容是《Web前端开发之Javascript视频》的课件,请配合大师哥《Javascript》视频课程学习。计时器:Javascript是单线程语言,但它允许通过设置超时和间歇时间值来调度代码在特定的时刻执行;其是通过setTimeout()和setInterval()两个window对象的全局函数实现的,用来注册在指定的时间之后单次或重复调用的函数;setTimeout():延迟代码执行(也叫...

weixin_39942785的博客 1858

setTimeout 深度剖析

/或者setTimeout传参数除了前两个参数,setTimeout还允许添加更多的参数。它们将被传入推迟执行的函数(回调函数)。上面代码中,setTimeout共有4个参数。最后那两个参数,将在1000毫秒之后回调函数执行时,作为回调函数的参数。IE9.0及以下版本,只允许setTimeout有两个参数,不支持更多的参数;可以在匿名函数中,让回调函数带参数运行,再把匿名函数输入setTimeout;例如:},1000);当然也可以使用或方法来解决。

2501_90228988的博客 1255

setTimeout 使用方法详解

计时器setTimeout是我们经常会用到的,它用于在指定的毫秒数后调用函数或计算表达式。 语法: 1setTimeout(code, millisec, args);注意:如果code为字符串,相当于执行eval()方法来执行code。当然,这一篇文章并不仅仅告诉你怎么用setTi

Never say never for ss 8705

关于JS中setTimeout的理解

console.log("1"); setTimeout(function () { console.log("2") }, 1000) console.log("3"); 以上代码运行的结果是什么呢? 上述运行结果是1 3 2,由此可见先执行了开始和结尾的两个输出,最后执行的是setTimeout。 这么理解:Js是单线程的,所有的事件运行都需要排队,首先同步的代码先插入对...

wangziwuhui的博客 527

setTimeout详解

计时器setTimeout是我们经常会用到的,它用于在指定的毫秒数后调用函数或计算表达式。语法:setTimeout(code, millisec, args);注意:如果code为字符串,相当于执行eval()方法来执行code。当然,这一篇文章并不仅仅告诉你怎么用setTimeout,而且理解其是如何执行的。1、setTimeout原理先来看一段代码:var start = new Date(...

半吊子python全栈 8269

JS的setTimeout函数

setTimeout函数执行顺序 所有可执行代码执行完毕之后,才会开始执行由setTimeout定义的操作。而这些setTimeout操作执行的顺序,则由设定的延迟时间来决定。 setTimeout(function () { console.log(a); }, 0); var a = 10; console.log(b); console.log(fn); var b = 20; fu

Feb_ruary的博客 590

JS | setTimeout 延时器详解

settimeout的特点是,它只执行一次,如果想要再次执行,需要重新调用settimeout。另外,settimeout的延迟时间并不是准确的,它只是表示最早可能执行的时间,实际执行的时间可能会受到其他代码的影响,比如浏览器的事件循环,或者其他的定时器。settimeout和setinterval的区别如下:settimeout只执行一次,而setinterval会不断重复执行,直到被清除。settimeout和setinterval的延迟时间和执行间隔都不是准确的,它们会受到其他代码和浏览器的影响

青春木鱼的博客 2548
上一篇: 弹性布局 flex
下一篇: css布局 之 左侧宽度固定,右侧自适应两栏布局
Dark_programmer
博客等级 码龄7年 9073粉丝 307原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值