settimeout和setinterval区别

在项目中大家会时不时的用到这两种定时器吧!但是这两货实现效果的差异是什么那?

先看W3C对其兄弟俩的定义

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

语法:

setTimeout(code,millisec)
参数:
code:必需。要调用的函数后要执行的 Js代码串。
millisec: 必需。在执行代码前需等待的毫秒数。
提示
setTimeout()只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

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

语法:

setInterval(code,millisec[,"lang"])
参数:
code:必需。要调用的函数或要执行的代码串。
millisec: 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。

这样一来这哥俩的差异就出来了:
1.setTimeout()执行一次,如需重复执行调用本身;setInterval():周期性多次执行,除非主动停止;
2.setTimeout():在指定的时间之后调用;setInterval():在指定时间之前调用并周期性执行