js的同步、异步和延迟

1、默认情况下,js是同步和阻塞DOM解析的。在解析DOM的过程中,当遇到script时,会暂停DOM解析,开始请求script并执行js,执行完成之后再接着解析DOM树。

2、之前一直不知道DOMReady是在什么时候,也从来没在书上看到对这个时间点的解释。现在感觉,DOMReady是解析完body的结束标签之后。所以所有的js的应该绑定在body标签之前。否则其中的DOMReady所触发的回调可能无法执行。

3、想要js不阻塞DOM解析的方法有:

  将js写在body的结束标签之前,其它所有的html之后

  为script添加defer和async属性。添加了这两个属性是为了告诉浏览器这个scirpt不会对DOM产生影响,可以继续往下解析DOM树,但此时js请求已经发出。

4、js的执行分两种,一种是在加载后立即执行,另一种是事件驱动执行。

相关文章:

  • 2020-06-02
  • 2021-08-19
  • 2021-11-27
  • 2022-02-17
  • 2021-11-29
  • 2021-11-22
  • 2022-01-17
  • 2021-08-18
猜你喜欢
  • 2021-12-16
  • 2021-12-19
  • 2021-12-09
  • 2021-06-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案