setTimeout() 延时执行
最后更新:2026-09-09
setTimeout() 延时执行
setTimeout 在指定的毫秒数后执行一次回调函数。返回定时器 ID,可用 clearTimeout 取消。
| 分类 | 全局函数 |
|---|---|
| ES 版本 | ES1 |
📝 语法
setTimeout(回调, 毫秒数);
⚙️ 参数
| callback | 延时后执行的函数。 |
|---|---|
| ms | 延时毫秒数。 |
返回值:定时器 ID(数字)。
是否修改原值:否(返回新值)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
张三 25岁
💡 提示 setTimeout 不保证精确时间——只保证最少延迟(受事件循环影响)。
ℹ️ info 延时 0ms 也不立即执行——排入宏任务队列,在当前同步代码之后执行。
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| setTimeout() | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| 所有现代浏览器均支持 | |||||
🏷️ 相关条目
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
QsetTimeout(fn, 0) 会立即执行吗?
A不会——放入宏任务队列,等当前同步代码和微任务都执行完后才运行。
QclearTimeout 的作用?
A取消尚未执行的定时器。已经执行的无法取消。
QsetTimeout 的 this 指向?
A默认指向 window(非严格模式)——箭头函数继承外层 this。