为啥css要放在头部,js要放在body底部

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥css要放在头部,js要放在body底部相关的知识,希望对你有一定的参考价值。

参考技术A 因为css是要在网页渲染外观的时候就要调用的,所以要预先调入内存,因此放在头部。
而js因为有可能(可以说是很有可能)需要调用网页DOM结构中的元素,所以必须等html的整个DOM结构都调入内存后才开始运行(否则就很可能因为无法找到元素而出错),所以要放在底部。但是最好或者说最标准的用法是把js代码放入window对象的onload事件中,这样就可以把整个js代码放到网页的任何位置了(包括头部)。就类似这样:
<script>
window.onload=function()
//要运行的js代码放在这

</script>

《高性能Javascript》读书笔记-1

第一章

加载和执行

当浏览器执行JavaScript代码时,不能同时做其他任何事情(单一进程),意味着<script>标签每次出现都霸道地让页面等带脚本的解析和执行(每个文件必须等到前一个文件下载并执行完成才会开始下载),所以头部的JS和CSS用来渲染页面,交互行为(几乎所有)的JS放在<body>底部;

在</body>关闭之前 将所以script标签放到页面底部,能确保脚本执行前页面完成渲染


减少外链脚本数量将会改善性能(合并JS)


任何网站都可以使用一个把制定文件合并处理后的URL来获取任意数量的文件。

可以使用多种无阻塞下载js的方法


defer属性可延迟脚本(只有IE4 和FF3.5 支持)

动态创建script下载并执行

使用xhr对象下载js代码并注入页面

以上是关于为啥css要放在头部,js要放在body底部的主要内容,如果未能解决你的问题,请参考以下文章

为什么css放在头部,js放在底部

JS一定要放在Body的最底部么? 聊聊浏览器的渲染机制

[转]浏览器渲染机制——一定要放在body底部的js引用

为什么css放头部js放尾部

能不能把js代码放到div里面

《高性能Javascript》读书笔记-1