js执行机制

 

 

 

js是单线程语言,即某个时间内只能干一件事。那为什么不能是多件事呢?

首先,多线程的含义是什么呢?同时做多件事节约时间,但是在js中,假如同时间添加和增加dom,那么就会冲突。

单线程意味着所有任务都需要排队,后边任务必须等待前边任务完成才能执行,假如前边有个任务需要耗时很长,那么后边有些看似可能不需要等待的任务就会一直等待 (🤬听到就很神烦是不是?)。从用户角度上来看是不可以接受的,所以JS出现了异步的概念。

同步和异步

  • 同步任务:在主线程上排队执行的任务,只有前一个任务执行完毕,后一个任务才能执行。
  • 异步任务:进入任务队列的任务,只有同步任务执行完毕,才会通知任务队列进入主线程执行。(终于等到我了!排了这么久的队!😭开心到哭······)

运行机制

  • 所有同步任务都在主线程上执行,形成一个执行栈。
  • 主线程之外,还存在任务

 

posted @ 2022-06-07 15:07  阿兰儿  阅读(39)  评论(0编辑  收藏  举报