JS中setTimeOut()和setInterval()定时器用法

setTimeOut()和setInterval()都是用来处理延时和定时任务的函数,比如打开一个网页之后过段时间就会弹出一个对话框或登录框,再或者页面每隔一段时间执行一个函数。
setTimeOut()只执行一次,且是在指定的毫秒数之后再调用函数。
setInterval()可以执行多次,是在每隔指定的毫秒数循环调用函数,直到clearInterval把它清除掉。
var timer=setTimeout(“函数名”,时间) 定时器,只调用一次;timer为返回的对象;
clearTimeout(timer) 清除定时器
window.setTimeout(func.100)或setTimeout(func.100),两个写法基本一样,只不过window.setTimeout将setTimeout函数作为全局window对象的一个属性来引用。
代码执行时,100毫秒之后调用func函数
代码例子:

function timeout(){     
     document.getElementById('box1').innerHTML="hello我只执行一次哦!";
     }  
     setTimeout(timeout,2000);  

注意这里 setTimeout(timeout,2000);看清楚timeout没有写括号,加了括号是立即执行的意思,一加载网页就会出现那句话 。如果非得写括号,你可以这样子setTimeout(“timeout()”,2000)

var timer =setInterval(“函数”,时间) 定时器,每格 一段时间(毫秒)调用一次函数,直到使用clearInterval清除该定时器;
clearInterval(timer); 清除定时器,即停止调用
代码例子:直接上牛客网上的例子吧
实现一个打点计时器,要求
1、从 start 到 end(包含 start 和 end),每隔 100 毫秒 console.log 一个数字,每次数字增幅为 1
2、返回的对象中需要包含一个 cancel 方法,用于停止定时操作
3、第一个数需要立即输出

function count(start, end) {
    console.log(start++);
    var timer = setInterval(function(){
        if(start<=end){
            console.log(start);
            start++;
        } else{
            clearInterval(timer);
        }
    },100);
    return{
        cancel:function(){
            clearInterval(timer);
        }
    };

}

版权声明:本文为diligentkong原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。