第二章
2.1 <script>元素
在<script>中,async:可选。表示立即下载脚本。defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。(这两个都只适用于对外部js文件)
defer可以解决一些js文件先于html文档加载的问题。
2.1.1 标签的位置
把<script>放在<body>的最后。
2.2 推荐嵌入代码与外部文件
- 可维护性:放在一个文件夹里维护相对轻松,不用触及html。
- 可缓存:浏览器可以 根据具体的设置缓存连接的所有外部js文件,如果两个页面使用同一个js文件,则只需要下载一次。可加快页面的加载速度。
2.3文档模式
文档类型(doctype)
- 最初的文档模式: 混杂模式、标准模式(html5的标准模式:<!DOCTYPE html>)
2.4 <noscript>元素
- 解决一些浏览器不支持javescript显示替代的内容。
- <noscript>中的内容显示的条件
- 浏览器不支持脚本
- 浏览器支持脚本,但脚本被禁用
2.5小结
- 包含外部js文件时,必须见src属性设置为指向相应文件的url。
- <script>元素都会按照它们所在页面出现的先后顺序依次解析。在不使用defer和async属性的条件下,只有前面的<script>中的元素解析后才会解析后面<script>的代码。
- 综合考虑放在<body>的最后,</body>之前。