script放置位置问题

@toc

背景

html加载流程是优化解析head内容,再进行内容渲染。js加载成功后相关的逻辑即会被执行。

问题点

  • <script>在Head与在Body里有什么区别
  • <script>添加的顺序有什么要求?

1、head中script特点

  • 添加在head中的script会在解析head时进行加载,待js文件全部加载完毕后再进行内容渲染。js加载是单个进行的(最多2个同时加载),不能并发进行下载。
  • 由于body没有被渲染之前执行head中的js,所以head中的script不能直接操作dom。如获取某个dom修改文本内容等, 在这个时机是获取不到dom的。

2、body中script特点

  • 放到body底部的script,会在页面被渲染后进行下载执行,注意的事件可能在某些事件响应之后
  • 放到body中间的script,会等待script下载完成并执行后再渲染后续的dom@toc

背景

html加载流程是优化解析head内容,再进行内容渲染。js加载成功后相关的逻辑即会被执行。

问题点

  • <script>在Head与在Body里有什么区别
  • <script>添加的顺序有什么要求?

1、head中script特点

  • 添加在head中的script会在解析head时进行加载,待js文件全部加载完毕后再进行内容渲染。js加载是单个进行的(最多2个同时加载),不能并发进行下载。
  • 由于body没有被渲染之前执行head中的js,所以head中的script不能直接操作dom。如获取某个dom修改文本内容等, 在这个时机是获取不到dom的。

2、body中script特点

  • 放到body底部的script,会在页面被渲染后进行下载执行,注意的事件可能在某些事件响应之后
  • 放到body中间的script,会等待script下载完成并执行后再渲染后续的dom
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容