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

来源:互联网 发布:苹果app行动监管软件 编辑:程序博客网 时间:2024/05/22 12:08

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);        }    };}
0 0
原创粉丝点击