js代码的运行机制

js代码运行分两个阶段

1.预编译阶段,

  在这个阶段进行变量的提升,将变量赋值为undefined;函数的声明提升

2. js执行阶段

  js 分为同步任务和异步任务,先执行同步任务,在执行异步任务

  异步任务又分为宏任务和微任务,先执行微任务在执行宏任务

  宏任务:setTimeout()  ajax回调 事件回调(鼠标键盘事件)

  微任务:promise await    process.nextTick(node中的)

  流程图:

html 中js 加载机制

1. 一般情况下,如果遇到js, 会堵塞html渲染,等到js 加载完毕并且执行完毕才会继续渲染html,如果不要这种效果,script 提供了defer 和anysc两种方式

扫描二维码关注公众号,回复: 11272569 查看本文章

  defer:   js下载和渲染html 同时执行,html渲染完成后,才执行js代码

  async:  js下载和渲染html同时执行,js下载完成后,立即执行js代码,执行js代码过程会堵塞html的渲染

  

  

猜你喜欢

转载自www.cnblogs.com/fewhj/p/12964687.html