setInterval
周期性地调用一个函数function或者执行一段代码。
clearInterval:取消调用setInterval设置的重复执行动作
var intervalID = window.setInterval(func,delay[,param1,param2,…]);
var intervalID = window.setInterval(code,delay);//不推荐
若是取消该周期执行命令,可将intervalID 的值传给clearInterval()。
delay 是每次延迟的毫秒数 (1s=1000ms),函数的每次调用会在该延迟之后发生。和setTimeout一样,实际的延迟时间可能会稍长一点。
setTimeout(function(){
//处理代码
setTimeout(arguments.callee,interval)
},intercal);
setTimeout
在指定的延时之后调用一个函数或者执行一个代码片段。
clearTimeout:方法可取消由setTimeout设置的timeout
setTimeout对队列的工作方式:当特定时间过去后将代码添加到队列中,但并不意味着会马上将执行,设定一个200ms后执行的定时器,指的是在200ms后它将被添加到队列中,是否执行,还得看队列中是否没有其他的东西。
setTimeout和setInterval函数,都返回一个整数值,表示计数器编号。将该整数传入clearTimeout和clearInterval函数,就可以取消对应的定时器。
使用
以下内容参考自https://www.jeffjade.com/2016/01/10/2016-01-10-javaScript-setInterval/
1,setInterval
常见用于轮询。比如轮询一个url的hash值是否会发生变化。
var hash = window.location