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是单线程的,如果执行队列中有其他要执行的函数,会依次执行(即这两种调用的函数将会在前面函数执行完毕后执行),如果队列中没有执行的函数,将会立即执行。一般情况下我们很少使用间歇调用,因为间歇调用可能导致,前一次间歇调用没有执行完毕后一次间歇调用就开始执行了。

posted @   转角90  阅读(118)  评论(0编辑  收藏  举报
编辑推荐:
· 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上本地化部署
点击右上角即可分享
微信分享提示