保护我方鲁班七号
2017-08-08 18:14
JavaScript代码需要写在<script></script>之间。有的JS代码写head标签内,也有写在body标签内的,请问它们有什么区别吗
js应该放在body的底部,因为浏览器需要一个稳定的dom树结构,而且js中很有可能有代码直接改变了dom树结构,浏览器为了防止出现js修改dom树,需要重新构建dom树的情况,所以就会阻塞其他的下载和呈现。
将javaScript放在head内和body地步的区别也在于此,放在head里面,由于浏览器发现head里面有JavaScript标签就会暂时停止其他渲染行为,等待JavaScript下载并执行完成才能接着往下渲染,而这个时候由于在head里面这个时候页面是白的;如果将JavaScript放在页面底部,render Tree已经完成大部分,所以此时页面有内容呈现,即使遇到JavaScript阻塞渲染,也不会有白屏出现。
渲染的顺序不同,如果想让JS尽早执行,最好放在head里面,会影响加载速度,影响后面代码的执行;放在body里面,不会对加载速度,渲染等产生太大影响
区别不是很大,只是执行顺序的不同
执行的顺序不同,一个是读完html再执行,一个是直接引用
JavaScript入门篇
739817 学习 · 9566 问题
相似问题