一、js的定时器

  setTimeout()

    1.在制定的毫秒数后执行代码

    2.返回值:返回计时器的个数

    3.参数:第一个参数是callback

        第二个参数是毫秒

        如果参数是0,上来就直接执行;其实是有一个时间推迟,大概是5毫秒。

  clearTimeout()

    1.清除setTimeout()开启的定时器

    2.返回值:没有返回值

    3.参数:要删除的定时器

  setInterval()

    1.每隔多少毫秒反应的执行回调函数

    2.返回值:计时器的个数

    3.参数:第一个是callback

        第二个是毫秒

  clearInterval()

    1.清除setInterval()定时器

    2.没有返回值

    3.参数:要删除的定时器

二、计时器中的this问题

  计时器的this统统指向window

三、Js的执行机制

  js是单线程

  为了解决js是单线程问题,js提供了同步处理和异步处理

  同步处理:前一个任务执行完后才能执行下一个

  异步处理:前一个任务花费时间长,无需等待,直接处理下一个

  js的异步执行:事件  定时器  资源请求

四、总结

  1.计时器不是从计时器函数执行后就开始计时,而是主线程的代码执行完毕之后才开始计时

  2.主线程执行过程中,setTimeout onclick会执行,只是里面的callback会排队提交;setTimeout等主线程结束后开始计时,达到计时时间就提交任务,onclick

posted on 2020-03-05 18:47  ·~小武~  阅读(696)  评论(0编辑  收藏  举报