setTimeout和setInterval函数之间的联系与区别(实例篇)

setTimeout实例:

showTime();

function showTime()

{

    var today = new Date();

    alert("The time is: " + today.toString());

    setTimeout("showTime()", 5000);

}

setTimeout每隔5秒会alert 提示一次。
setTimeout方法不会每隔5秒钟就执行一次showTime函数,它是在每次调用setTimeout后过5秒钟再去执行showTime函数。这意味着如果showTime函数的主体部分需要2秒钟执行完,那么整个函数则要每7秒钟才执行一次。

setInterval实例:
setInterval("showTime()",  5000);

        function  showTime() {    
            var  today  =  new  Date();    
            alert("The time is: "  +  today.toString());
        }
setInterval没有被自己所调用的函数所束缚,它只是简单地每隔一定时间就重复执行一次那个函数。

如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout。

最主要的区别是:
setInterval  执行多次   
setTimeout   执行一次

发表评论