src:可选。
表示包含要执行代码的外部文件。
type:可选
表示编写代码使用的脚本语言的内容类型(也称为MIME 类型)。其默认值仍为
text/javascript.
async:可选。
表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本文件有效。
defer:可选。
表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。IE7 及更早版本对嵌入脚本也支持这个属性。(立即下载,但延迟执行。)
charset:可选。
表示通过src 属性指定的代码的字符集。由于大多数浏览器会忽略它的值,因此这个属性很少有人用。
language:已废弃。
原来用于表示编写代码使用的脚本语言(如JavaScript、JavaScript1.2或VBScript)。大多数浏览器会忽略这个属性,因此也没有必要再用了。
注意:
1、带有src 属性的<script>元素不应该在其<script>和</script>标签之间再包含额外的JavaScript 代码。如果包含了嵌入的代码,则只会下载并执行外部脚本文件,嵌入的代码会被忽略。
2、通过<script>元素的src 属性还可以包含来自外部域的JavaScript 文件。
3、所有<script>元素都会按照它们在页面中出现的先后顺序依次被解析。在不使用defer 和async 属性的情况下,只有在解析完前面<script>元素中的代码之后,才会开始解析后面<script>元素中的代码。
4、由于浏览器会先解析完不使用defer 属性的<script>元素中的代码,然后再解析后面的内容,所以一般应该把<script>元素放在页面最后,即主要内容后面,</body>标签前面。
5、使用defer 属性可以让脚本在文档完全呈现之后再执行。延迟脚本总是按照指定它们的顺序执行。
6、使用async 属性可以表示当前脚本不必等待其他脚本,也不必阻塞文档呈现。不能保证异步脚本按照它们在页面中出现的顺序执行。
外部文件的有点:可维护性、可缓存、适应未来(html和Xhtml外部文件语法相同)
csript标签最好是放在body后面
<noscript>内容显现的条件:浏览器不支持脚本或脚本被禁用。