JavaScript定时器(setInterval & setTimeout )

    xiaoxiao2021-11-29  27

    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怎么用?

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

    就比如说考试系统超时会自动提交这个例子: var myTime=setTimeout(submitTest,60000);//60秒后调用`submitTest`函数。 document.onclick=clearTimeout("myTime");//在此期间如果发生点击事件,就不再延迟执行`submitTest`函数。 function submitTest(){ alert("考试超时,已自动提交试卷!"); myForm.submit(); }
    转载请注明原文地址: https://ju.6miu.com/read-678729.html

    最新回复(0)