JavaScript---两种定时器,setTimeout和setInterval的区别

setTimeout定义和用法

setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。

setTimeout 方法接收两个参数,第一个参数为回调函数函数或字符串,第二个参数为触发时间(单位:毫秒)。

setTimeout(code, milliseconds, param1, param2, ...)​

setTimeout(function, milliseconds, param1, param2, ...)
参数描述
code必需        要调用的函数后要执行的 JavaScript 代码串。
millisec可选        执行或调用 code/function 需要等待的时间,以毫秒计。默认为 0。

param1, param2, ...

可选        传给执行函数的其他参数(IE9 及其更早版本不支持该参数)

setTimeout只在指定时间后执行一次,代码如下:

<script>
    //定时器 异步运行
    function hello(){
        alert("hello world");
    }
    var t1 = window.setTimeout(hello,1000);//使用方法名字执行方法
    var t2 = window.setTimeout("hello()",3000);//使用字符串执行方法
    var t3 = window.setTimeout("alert('三秒钟已到')", 3000 )
    window.clearTimeout(t1);//去掉定时器
</script> 

setInterval()定义和用法

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

setInterval(code,millisec[,"lang"])
参数描述
code

必需        要调用的函数或要执行的代码串。

millisec

必需        周期性执行或调用 code 之间的时间间隔,以毫秒计。

setInterval以指定时间为周期循环执行,代码如下:

//实时刷新时间单位为毫秒
setInterval('refreshQuery()',8000); 
/* 刷新查询 */
function refreshQuery(){
   $("#mainTable").datagrid('reload',null);
}

settimeout和setinterval区别

setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,而setInterval()则可以在每隔指定的毫秒数循环调用函数或表达式,直到clearInterval把它清除。

也就是说setTimeout()只执行一次,setInterval()可以执行多次。

两个函数的参数也相同,第一个参数是要执行的code或句柄,第二个是延迟的毫秒数。

业务场景的区别

·setTimeout用于延迟执行某方法或功能。

·setInterval则一般用于刷新表单,对于一些表单的假实时指定时间刷新同步。

销毁两种定时器方法:

//清除Timeout的定时器,
传入id(创建定时器时会返回一个id) clearTimeout(i);

//清除Interval的定时器,
传入id(创建定时器时会返回一个id) clearInterval(j);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值