JavaScript定时器(setInterval & setTimeout )

setInterval和setTimeout是干什么的?

JS 中设置延时的函数主要有两个:setInterval和setTimeout。这两个函数的区别在于:
setInterval表示的是循环执行,执行无数次直至清除循环
setTimeout表示的是延迟执行,只执行一次。
这两个函数分别对应两个清除函数:
clearTimeout(对象)//清除已设置的setTimeout对象 >clearInterval(对象)// 清除已设置的setInterval对象
下面讲解两种函数的用法

setInterval怎么用?

setInterval(function,interval[,arg1,arg2,….argn])`
上面这是setInterval的完整参数,其中方括号中的arg都是可以缺省的,表示的是要传给function的参数。为了能让清除函数找到这个循环对象,我们还要给这个定时器起一个名字。下面看例子:

  • 无参函数的调用
var MyName=setInterval(hello,1000);//这里每隔一秒调用一次hello函数,这个函数没有参数
function hello(){
    alert("你好呀");
}
document.onclick=clearInterval("MyName");//点击就会清除循环
  • 有参函数的调用
var MyName=setInterval(hello,1000,100,"jessie");//这里每隔一秒调用一次hello函数,这个函数有两个参数
function hello(number,str){
    alert("你好呀,我叫"+str+"我最喜欢的数字是:"+number);
}
document.onclick=clearInterval("MyName");
  • 匿名函数调用
var MyName=setInterval(function(){
    alert("你好呀");
},1000);//这里每隔一秒调用一次匿名函数,但是没办法传参数了
document.onclick=clearInterval("MyName");

上面这三个函数虽然都设置了点击清楚循环,但实际上网页每隔一秒跳出一个弹窗,所以你只有在两次弹窗间隙赶紧点击才可以清除,哈哈哈哈

setTimeout怎么用?

应该说setTimeoutsetInterval用法差不多,只不过功能不一样,这个是延迟固定时间后再执行。那么你在执行前还是有机会调用clearTimeout来清除这个延时函数的。还是给个代码的例子吧~

  • 就比如说考试系统超时会自动提交这个例子:
var myTime=setTimeout(submitTest,60000);//60秒后调用`submitTest`函数。
document.onclick=clearTimeout("myTime");//在此期间如果发生点击事件,就不再延迟执行`submitTest`函数。
function submitTest(){
    alert("考试超时,已自动提交试卷!");
    myForm.submit();
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值