微信小程序setinterval_简单谈谈setTimeout与setInterval

本文探讨了在微信小程序中使用setTimeout和setInterval进行倒计时的实现,强调了两者区别,并提供了倒计时组件的代码示例。同时,作者提醒开发者避免使用W3School,推荐查阅MDN文档,以获得更准确的技术信息。
摘要由CSDN通过智能技术生成

感谢踩过的坑

sf社区的第一篇文章。

最近在做一个拍卖的微信小程序,用到了定时器setTimout和setInterval,简单谈谈这两个api。

setTimeout

最常见的用法就是第二种(第三种mdn文档不推荐),如:

var timeoutId = setTimeout(function() {

console.log('hello world!')

},1000)

定时器是先等待1000ms再执行function的语句,而不是一开始就执行然后再等待。如果执行的语句需要用到this引用,需要在回调函数function上绑定this:function() {...}.bind(this),把this传给回调函数,同作为该回调函数的this,使回调函数内外this的指向保持一致。或者用es6的箭头函数() => {},也能起到同样的作用。bind的用法详见Function.prototype.bind()

用完定时器之后,要记得清除:clearTimeout(timeoutId) 这里的timeoutId是setTimeout返回的一个正整数编号,是定时器的唯一标识符。

setInterval

在我看来基本上可以当成setTimeout的升级版,就像setTimeout循环调用自身,用法也跟setTimeout一样,用完是也要记得用clearInterval清掉定时器。底层原理或许会有些不同,这里就不深究。

下面是我在微信小程序倒计时组件:

// components/countdown

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. clearTimeout: clearTimeout() 方法用于停止由 setTimeout() 方法设置的计时器。如果计时器已经启动,则可以使用 clearTimeout() 方法将其停止。该方法需要一个参数,即要停止的计时器的 ID。例如: ``` var timerID = setTimeout(function(){ alert("Hello"); }, 3000); clearTimeout(timerID); ``` 在上述代码中,我们使用 setTimeout() 方法创建了一个计时器,并将计时器 ID 赋值给变量 timerID。然后,我们调用 clearTimeout() 方法,传递计时器 ID 作为参数,以停止计时器。 2. setInterval: setInterval() 方法用于设置周期性调用函数。该方法需要两个参数,即要执行的函数和执行函数之间的时间间隔(以毫秒为单位)。例如: ``` var timerID = setInterval(function(){ alert("Hello"); }, 3000); ``` 在上述代码中,我们使用 setInterval() 方法创建了一个计时器,并将计时器 ID 赋值给变量 timerID。该计时器每隔 3 秒钟就会调用一次 alert() 函数。 3. clearInterval: clearInterval() 方法用于停止由 setInterval() 方法设置的周期性定时器。如果周期性定时器已经启动,则可以使用 clearInterval() 方法将其停止。该方法需要一个参数,即要停止的周期性定时器的 ID。例如: ``` var timerID = setInterval(function(){ alert("Hello"); }, 3000); clearInterval(timerID); ``` 在上述代码中,我们使用 setInterval() 方法创建了一个周期性定时器,并将计时器 ID 赋值给变量 timerID。然后,我们调用 clearInterval() 方法,传递计时器 ID 作为参数,以停止周期性定时器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值