恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

js定时器与异步基础讲解

  • 首页
  • 资讯中心
  • /
  • js定时器与异步基础讲解

相关资讯

从零搭建股票回测系统:backtrader多股回测与数据清洗实战 2026/9/24 9:28:13
文献检索实习报告:从查全查准到可复现检索式的实战指南 2026/9/24 9:28:13
电动两轮车BMS设计实战:BQ769x2 AFE如何实现降本增效 2026/9/24 9:28:13

最新资讯

【Springboot毕设全套源码+文档】基于Java+spring boot的智慧医疗平台设计与实现(丰富项目+远程调试+讲解+定制)
【JAVA毕设源码分享】基于spring boot的智慧医疗平台设计与实现(程序+文档+代码讲解+一条龙定制)
ARM学习笔记(8)
ESP8266与KiwisIoT实现低成本远程水位监测与告警系统
服装供应链SCM系统架构解析:库存周转的 MRP 运算与数据同源链路
元尚宅乡墅在农村自建房规划中的重要性与实施策略

今日推荐

JavaWeb购物车系统实现:基于Session存储的完整工程示例
面向对象综合训练:从图书管理系统掌握封装、继承与多态
Lombok与JDK版本冲突引发NoSuchFieldError:根因排查与修复指南

本周热门

BrewUI:给Homebrew套上图形界面,让macOS软件包管理更简单
BrewUI:让Homebrew包管理变得可视化与高效
公式与文本对齐全攻略:从Word到LaTeX的实用技巧

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

js定时器与异步基础讲解

发布时间:2026/9/24 9:33:13
js定时器与异步基础讲解 JS 默认是单线程代码一行一行排队执行同一时间只能干一件事。 如果一段代码执行很久后面代码就会卡住阻塞。异步 定时器解决的问题不让长时间 / 等待类的任务卡住后面代码先把等待任务放到一边继续往下跑主线代码等时间到了再回头执行这个任务。一句话不用原地死等程序可以继续做别的事时间到了再执行指定代码。⚠️ 定时器不是 “到点立刻执行”是到点把回调放进任务队列等主线空闲才执行。二、两个定时器setTimeout和setInterval1. setTimeout 延时定时器一次性作用延迟多少毫秒后执行一次代码只跑 1 次单位毫秒 ms1s 1000ms语法按你习惯用 let 箭头函数// 语法let 变量 setTimeout(回调函数, 等待毫秒数) let timer1 setTimeout((){ console.log(2秒之后打印这句话只执行一次); },2000) // 清除定时器取消任务 clearTimeout(timer1)应用场景 setTimeout弹窗延迟弹出进入页面 2 秒后弹出欢迎提示搜索框防抖用户停止输入一小会儿再发请求减少请求次数过渡动画延时、提示消息自动消失toast 提示 3 秒消失模拟接口请求写测试代码模拟等待服务器返回数据2. setInterval 间隔定时器循环重复执行作用每隔固定毫秒重复执行代码不停循环let timer2 setInterval((){ console.log(每隔1秒打印一次); },1000) // 停止循环定时器 clearInterval(timer2)应用场景 setInterval倒计时验证码倒计时、活动秒杀倒计时轮播图自动切换定时轮询接口每隔几秒去后台拿最新数据实时刷新页面数字跳动动画三、异步基础宏任务定时器属于宏任务JS 异步分宏任务、微任务setTimeout / setInterval属于宏任务执行顺序口诀主线同步代码 → 全部微任务 → 再取宏任务执行举个例子帮理解console.log(同步代码 最先执行); let t setTimeout((){ console.log(定时器最后才执行); },0) console.log(同步代码 第二行);输出顺序同步代码 最先执行 同步代码 第二行 定时器最后才执行哪怕延时写 0也不是立刻执行只是尽快放进宏任务队列等主线全部做完才执行。四、常见坑作业必考单位是毫秒不是秒别直接写setTimeout(fn,2)当成 2 秒这是 2 毫秒定时器返回值是编号数字保存这个编号才能用 clear 清除不清除会一直占用资源setInterval 容易累积误差如果里面代码执行时间长两次执行间隔会不准精准倒计时推荐用setTimeout递归代替 setInterval// 递归版setTimeout更精准的倒计时 let count 10 let countDown (){ count-- console.log(count) if(count0){ let timer setTimeout(countDown,1000) } } countDown()定时器 this 指向问题箭头函数不会改变 this普通 function 会指向 window

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号