1.HTML4.01为<script>定义了6个属性
(1)async:可选。async 属性规定一旦脚本可用,则会异步执行。async 属性仅适用于外部脚本(只有在使用 src 属性时)。
(2)charset:可选。表示通过src属性指定代码的字符集。
(3)defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部文件有效。
(4)language:已废弃。
(5)src:表示包含要执行代码的外部文件。
(6)type:
2.<script>位置
<script>元素都应该放在页面的<head>元素中,这种做法的目的就是把所有外部文件的引用都放在相同的地方。可是,在文档的<head>元素中包含所有的javascript文件,意味着必须等到全部的javascript代码都被下载下、解析和执行完成以后,才能开始呈现页面的内容(浏览器在遇到body时才开始呈现内容)。对于那些需要很多javascript代码的页面来说,这无疑会导致浏览器在呈现页面时出现明显的延迟,而延迟期间的浏览器窗口中将是一片空白。为了避免这个问题,现代Web应用程序一般都把全部的javascript引用放在<body>元素中页面内容后面。
3.<script>延迟脚本
HTML4.01为<script>标签定义了defer属性。这个属性表示脚本会被延迟到整个页面都解析完毕后(遇到</html>)再执行。一个页面最好只包含一个延迟脚本。
4.<script>异步脚本
HTML5为<script>元素定义了async属性。立即下载文件,标记为async的脚本并不保证按照他们的先后顺序执行。
在解析javascript文件时,页面的处理会暂时停止