setTimeout和setInterval区别?
间歇调用和超时调用
超时调用:window对象的setTimeout()方法,指定时间后调用:
setTimeout(function(){ // 推荐
console.log(3)
},1000);
setTimeout('console.log(3)',1000); // 不推荐,字符串格式会影响性能
setTimeout()返回一个数值ID表示表示超时调用,使用clearTimeout(ID)取消超时调用;
间歇调用:window对象的setInterval(),指定时间重复执行:
setInterval(function(){ // 推荐
console.log(3)
},1000);
setInterval('console.log(3)',1000); // 不推荐,字符串格式会影响性能
setInterval()返回一个数值ID表示表示超时调用,使用clearInterval(ID)取消间歇调用;
注意:间歇和超时调用时,不一定会在指定时间后调用函数,这两种方法将会在指定时间后将函数添加到执行队列中,因为javascript是单线程的,如果执行队列中有其他要执行的函数,会依次执行(即这两种调用的函数将会在前面函数执行完毕后执行),如果队列中没有执行的函数,将会立即执行。一般情况下我们很少使用间歇调用,因为间歇调用可能导致,前一次间歇调用没有执行完毕后一次间歇调用就开始执行了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署