javascript学习随笔之settimeout和setinterval

setinterval(code,msNum)方法在之前浅学javascript的时候有学到过,当时老师因为前提是讲定时器,所以重点讲解了setinterval方法。对于setTimeout方法只是有提一下。这也滋生了我的懒惰;"随遇而安"的态度让我没有去看下两个的差别到底在哪里?

直到今天在看一段代码的时候,刚好看到了setTimeout(),突然就懵圈了。于是在网上一阵阵的寻找;似乎找到了这么点眉目,于是今天想把它记录下来。首先setTimeout是延时执行,并且只执行一次。而setInterval是每间隔多长时间执行一次里面的代码块。这是它俩的最基本的区别。那么setTimeout居然在现在的很多实现中居然也有充当setInterval的角色。它又是如何做到的?这个就需要知道一点函数递归的知识了。想要让setTimeout也执行多次。需要将setTimeout放在它所执行的函数中进行无限递归。举个小例子:

    function example(){

.....//功能代码

var timer=setTimeout(example,2000);

    }

这样setTimeout就会无限的执行下去,直到clearTimeout(timer)就结束。它实现效果类似于下面这段代码。

function example(){

.....//功能代码

}

setInterval(example,2000);

恩,想记录的关于这两者的小小知识点就这么多。还有更高深的待学懂了再来补充。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 2,109评论 1 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,981评论 19 139
  • JavaScript提供定时执行代码的功能,叫做定时器(timer),主要由setTimeout()和setInt...
    晚晴幽草阅读 1,671评论 1 18
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,842评论 2 17
  • 在javascript中,定时器有两种,一种是setTimeout(),还有一种的setTimeout() set...
    Alkaidx阅读 573评论 0 0