js的script标签到底是放在head还是body中?

本文收集并整理了一些网上的回答,在此就不便每一个都给链接了。

js可以分为外部的和内部的。
外部的js一般放到head内

内部的js

内部的js也叫本页面的JS脚本,
内部的js一般放到body内,这样做的目的有很多,

  1. 不阻塞页面的加载(事实上js会被缓存);
  2. 可以直接在js里操作dom,这时候dom是准备好的,即保证js运行时dom是存在的。
  3. '猫头鹰书'建议的方式是放在页面底部,监听window.onload 或 readystate 来触发js

延伸:

head内的js会阻塞页面的传输和页面的渲染。

head 内的 JavaScript 需要执行结束才开始渲染 body,所以尽量不要将 JS 文件放在 head 内。可以选择在 document 完成时,或者特定区块后引入和执行 JavaScript。

而 CSS 应当写在 head 中,以避免页面元素由于样式缺失造成瞬间的白页或者给用户闪烁感。 ---吴钊


所以在head内的js一般要先执行完后,才开始渲染body页面。为了避免head引入的js脚本阻塞流浪器中主解析引擎对dom的解析工作,对dom的渲染,一般原则是,样式在前面,dom文档,脚本在最后面。遵循先解析再渲染再执行script这个顺序。 ---知乎用户

PS: 若你觉得可以、还行、过得去、甚至不太差的话,可以“关注”一下,就此谢过!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容