1. <script> 标签的有用属性
- async : 立即下载脚本,表示当前脚本不必等待其他脚本,只对外部脚本有效,加了async 属性的脚本是不按出现顺序执行的,所以要求文件之间互不依赖。
- defer : 立即下载脚本,延迟到文档被完全解析和显示之后再执行,只对外部脚本有效,加了 defer 属性的脚本也是按照出现的顺序执行的。
- src : 指向包含要执行代码的外部文件
- type : 默认是 text/javascript,没必要写
只要不存在defer和async属性,浏览器都会根据 script 标签在页面出现的先后顺序依次解析
2. <script> 标签的位置
以前是把 <script> 放在 <head> 中,但是这就意味着必须等到所有 js 都被下载、解析、执行完之后,才开始呈现页面的内容(浏览器遇到 <body> 才开始呈现内容),这会导致浏览器在呈现页面时出现延迟,也就是浏览器窗口的空白。
所以现在一般把 <script> 放在 <body> 内容的最后。
3. <script> 标签使用方式
- 嵌入代码
- 外部文件