setInterval与setTimeout

本文深入解析JavaScript中的定时器setInterval和setTimeout的相同点与不同点。setInterval用于间歇调用,设定间隔时间重复执行代码;setTimeout用于超时调用,设定等待时间后将代码添加到任务队列。文章阐述了JavaScript的单线程特性及任务队列的工作原理。
相同点
  • 都接受两个参数 第一个参数为执行的函数 第二个参数为时间(单位为毫秒)
  • 都会返回一个数值ID,这个ID是计划执行代码的唯一标识符,可以通过它来取消该方法。取消方法都为clearTimeout();
不同点
  • setInterval表示间歇调用,它的第二个参数表示每个多少毫秒重复执行代码,直至间歇调用被取消或页面被卸载。
  • setTimeout表示超时调用,它的第二个参数表示等待多长时间的毫秒数,但是在该时间过去后代码并不一定执行。JavaScript是一个单线程序的解释器,因此一定时间内只能执行一段代码。为了控制要执行的代码,就有一个JavaScript任务队列。这些任务会按照将它们添加到任务队列的顺序执行。setTimeout()的第二个参数告诉JavaScript再过多长时间把当前任务添加到队列中。如果队列是空的,那么添加的代码则会立即执行;如果队列不是空的,那么添加的代码会在前面的代码执行完毕后再执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值