HTML5中的<script>标签
HTML5为script标签定义了 6 个属性。分别是src、type、charset、defer、async,language(已废弃)。
<script>标签中的属性
src:可选。表示引入的文件。
type:必选。虽然说是必选,但其实也可以不用指定,因为浏览器大多默认其值为 “text/javascript”。
charset:可选。制定引入代码的字符集。
defer:可选。脚本将会延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。
async:可选。异步下载脚本,不妨害其他资源的下载或等待加载其他脚本。只对外部脚本文件有效。
language:已废弃。
注意
1 .带有src属性的 script 标签,不应在<script>和</script>标签之间再包含额外的 JavaScript 代码!浏览器只会下载外部脚本文件,而忽略嵌入的代码。
2 .<script></script>一般放在</body>的前面。因为浏览器只有遇到<body>才会显示内容,所以当 JavaScript 代码很多的时候,就会导致浏览器呈现页面出现明显的延迟。
3 .设置了 defer 属性的<script></script>,其所包含的脚本会延迟到浏览器遇到后再执行。如果有多个<script></script>设置了 defer 属性,脚本会按照它们的先后顺序执行。只适用于外部脚本文件!
4 .设置了 async 属性的<script></script>,浏览器会下载脚本,同时也会异步加载页面的其他内容。如果有多个<script></script>设置了 async 属性,脚本并不一定按照它们的先后顺序执行。只适用于外部脚本文件!
<noscript>
<noscript></noscript>只有在浏览器不支持脚本或禁用脚本时才会显示出来。它可以包含能出现在<body>中的一切 HTML 元素(<script>除外)。
参考文献:Nicholas C.Zakas著;李松峰,曹力译. JavaScript高级程序设计.北京:人民邮电出版社,2013.3.