开发者社区> 问答> 正文

Javascript中的定时器有哪些?他们的区别及用法是什么?

Javascript中的定时器有哪些?他们的区别及用法是什么?

展开
收起
微笑de向阳 2018-10-26 21:03:33 9443 0
4 条回答
写回答
取消 提交回答
    1. setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。
    2. setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
      setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

    如下代码演示:
    var timer = setInterval(function() {
    console.log('test');
    }, 1000);
    setTimeout(function() {
    clearInterval(timer);
    }, 3000);

    2019-07-17 23:10:34
    赞同 展开评论 打赏
  • 潜水砖家

    网页端常用:requestAnimationFrame, setInterval, setIimeout
    node端常用:nextTick,setImmediate,setIimeout,setInterval

    setIimeout,当时间达到后,有机会就执行
    setInterval,按照指定间隔后把回调函数加入任务队列,js会逐个执行
    setImmediate,任务队列执行完成后马上运行指定代码
    nextTick,生成更细颗粒度的任务加入微任务队列,微任务队列优先级高于普通任务队列,在两个队列都有值的情况下,优先执行微任务队列
    requestAnimationFrame,与setTimeout相比requestAnimationFrame最大的优势是由系统来决定回调函数的执行时机,它能保证回调函数在屏幕每一次的刷新间隔中只被执行一次,这样就不会引起丢帧现象,常用于动画场景

    2019-07-17 23:10:33
    赞同 1 展开评论 打赏
  • 什么都感兴趣?

    设置/取消一次 超时:

    var timer = setTimeout(()=> {alert("hi");}, 5000)
    clearTimeout(timer)

    设置/取消反复定时执行

    var timer = setInterval(()=> {alert("hi");}, 5000)
    clearInterval(timer)
    2019-07-17 23:10:33
    赞同 展开评论 打赏
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!

    setTimeout 只执行一次
    setInterval 会一直重复执行

    2019-07-17 23:10:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载