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);

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

你可能感兴趣的:(javascript学习随笔之settimeout和setinterval)