blot

导航

 

1.js的定时器

 setTimeout()

  1)在指定的毫秒数后执行代码

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

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

      第二个参数是毫秒

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

 clearTimeout()

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

  2)返回值:没有返回值

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

 setInterval()

  1)每隔多少毫秒反复的执行回调函数

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

  3)参数:第一个是callback

      第二个是毫秒

 clearInterval()

  1)清除setInterval()定时器

  2)没有返回值

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

2.计时器中的this问题

 计时器中的this统统指向window

3.js的执行机制

 js是单线程。

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

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

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

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

4.总结

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

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

posted on 2020-03-05 16:08  blot  阅读(333)  评论(0)    收藏  举报