简述JS执行机制

JS执行机制

1、讲执行机制之前,我们应该先了解什么是JS中的同步和异步

  • 同步:上一个任务完成才能进入下一个任务
  • 异步:两个或者多个任务可以并行执行

同步任务:都放在主线程的执行栈
异步任务:JS的异步是通过回调函数实现的
异步任务的三种类型:

  • 普通事件,如clickresize等等
  • 资源加载,如loaderror
  • 定时器,包括setIntervalsetTimeout

异步任务相关的回调函数添加到任务队列中(任务队列也称为消息队列)

执行机制

1、先执行执行栈中的同步任务
2、异步任务(回调函数)放入异步任务队列
3、一旦执行栈中的所有同步任务执行完毕,系统就会按次序读取任务队列的异步任务,异步任务结束等待,进入执行栈执行

简述JS执行机制_第1张图片总结:JS执行会先执行我们主线程的同步任务,中途遇见异步任务会通知异步进程,此时不会造成堵塞,同步任务继续执行,当同步任务执行完毕,主线程会监听异步队列,一旦异步队列有异步任务就拿过来执行。异步进程是用来维护异步任务,一旦异步任务达到执行条件就把异步任务给异步队列,然后主线程就监听到拿过来执行

你可能感兴趣的:(简述JS执行机制)