setTimeout()与setInterval()的区别

本文详细介绍了JavaScript中的setTimeout和setInterval两种定时器的区别。setTimeout执行一次,而setInterval会持续执行,直到被清除。通过示例代码展示了如何用setTimeout模拟setInterval的效果,并给出了如何根据条件停止计时器的方法。文章以通俗易懂的方式解释了这两个关键概念,帮助读者更好地理解和运用。
摘要由CSDN通过智能技术生成

概述

JavaScript中提供了两种定时器setTimeout()与setInterval(),既然JavaScript提供了两个方法,那么这两个方法有什么区别吗?今天我们来看一下。

setTimeout() :

setTimeout() 只执行 code 一次,不明白的话看下面的代码:

function uw3cTimed()
{
    var i = 1;
    var t=setTimeout(function(){
        document.write(i)
        i++;
    },1000)
}
uw3cTimed();

setInterval():

setInterval()会执行N回,只要你不停止,它就会一直执行。

function uw3cTimed()
{
    var i = 1;
    var t=setInterval(function(){
        document.write(i)
        i++;
    },1000)
}
uw3cTimed();

虽执行上面的代码,你会看到页面中每1秒钟就会追加一个数:1 2 3 4 5 6 7…直到你停止计时器或者关闭页面。

如何用setTimeout()实现setInterval()的效果:

看到上面的区别了吧,但是我用的是setTimeout(),我偏要实现setInterval()的效果怎么办?看下面的代码:

var i = 1;
function uw3cTimed()
{
    var t=setTimeout(function(){
        document.write(i)
        i++;
        uw3cTimed();
    },1000)
 
}
uw3cTimed();

如何停止计时器:

既然了解了计时器,那我们应该如何停止或者满足某个条件的时候停止呢?

function uw3cTimed()
{
    var i = 1;
    var t=setInterval(function(){
        document.write(i)
        if(i == 5){
            clearTimeout(t)
        }
        i++;
    },1000)
}
uw3cTimed();

看到了吧,当i==5的时候自动停止。
(对比了一些百度上的讲解,我把两者区别讲得比较通俗易懂,简洁明的分享给大家。转自这里
102e80d16f19a0b93793cb25f6d78976.gif

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值