setTimeout()和 setInterval() 的区别

setTimeout

定义

setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
setTimeout() 只执行函数一次,如果需要多次调用可以使用 setInterval(),或者在函数体内再次调用setTimeout()

用法

code/function: 必须。要调用一个代码串,也可以是一个函数。
milliseconds:  必须。周期性执行或调用 code/function 之间的时间间隔,以毫秒计。
param1, param2, ...:可选。 传给执行函数的其他参数(IE9 及其更早版本不支持该参数)。

setTimeout(code/function, milliseconds, param1, param2, ...);

例子

// 三秒后弹出hello
setTimeout(function(){ alert("Hello"); }, 3000)

setInterval

定义

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

用法

code/function: 必须。要调用一个代码串,也可以是一个函数。
milliseconds:  必须。周期性执行或调用 code/function 之间的时间间隔,以毫秒计。
param1, param2, ...:可选。 传给执行函数的其他参数(IE9 及其更早版本不支持该参数)。

setInterval(code/function, milliseconds, param1, param2, ...);

例子

// 每三秒弹出hello
setInterval(function(){ alert("Hello"); }, 3000)

区别总结

setTimeout() 方法只运行一次,也就是说当达到设定的时间后就开始运行指定的代码,运行完后就结束了,次数是一次。

setInterval() 是循环执行的,即每达到指定的时间间隔就执行相应的函数或者表达式,只要窗口不关闭或 clearInterval() 调用就会无限循环下去。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容