[html] js放在html的和有什么区别?

在浏览器解析HTML中的时候,如果在head标签中遇到了script标签并且是同步执行的,那么就会影响文档的加载,如果引入的过多的同步脚本文件
那么加载会变得非常怪异且卡顿;但是放在body中,根据script标签,从上到下的解析顺序,它不会对html进行阻塞;

那么在一般业务中我们如何做呢?一般情况下是在网站中,同步在head加载的脚本通常是业务必须的,比如说我要注册一个window对象,或者用document.write写入一些内容,或者是业务需求,我们可以用head来做加载,
就是意味着没有这个脚本,下面的文档走不下去;
那么我们也可以在头部给script标签加入async的属性,表示它是异步加载的脚本,不会对html进行阻塞,这也是大部分网站的做法;
除了上面的情况我们都需要把js引入到底部或者body中合适的位置,比如说我的jq从那个html代码进行了使用,那么就在它之前均可;

个人简介

我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论

主目录

与歌谣一起通关前端面试题