<script>定义了6个属性:
1、async 表示立即下载该脚本,但不妨碍页面中的其他操作(比如:下载其他资源或等待加载其他脚本),只对外部文件有效。
2、charset 属性与 src 属性一起使用,告诉浏览器用来编码这个 javascript 程序的字符集。它的值是任何一个 ISO 标准字符集编码的名称。由于大多数浏览器会忽略它的值,因此这个属性很少有人用。
3、defer 表示脚本可以延迟到文档完全被解析和显示后再执行。只对外部文件有效。
4、language 已废弃。 原来用于表示编写代码用的脚本语言,因大多数浏览器都会忽略这个属性,因此也没必要再用了。
5、src 表示包含要执行代码的外部文件。
6、type 可以看成language的替代属性;表示编写代码使用的脚本语言的内容类型。默认值为text/javascript。
注意:
1、传统做法是将所有的<script>元素都放在页面的<head>元素中,但是这样页面响应就会比较慢(必须等到全部的Javascript代码都被下载、解析和执行完后,才能呈现页面内容)。现在的做法一般都是将Javascript引用放在<body>元素中页面内容的后面。
2、defer和asyncd的作用基本相似。定义defer=“defer”的脚本将延迟到浏览器遇到</html>标签后再执行,原则上是延迟脚本还是按照原来的顺序执行,但是实际上执行的顺序不一定按照指定顺序执行。但是HTML5(以后称为H5)中已经明确规定,defer属性只使用于外部脚本文件,因此支持H5的实现会忽略给嵌入脚本设置的defer属性。async也只适用于外部脚本文件,并告诉浏览器立即下载脚本文件。但与defer不同的是,它并不保证按照指定顺序执行,又称为异步脚本标签(各脚本文件相互独立,互不依赖)。
使用<script>元素方式有两种:
1、直接嵌入Javascript代码。
<script type="text/javascript">
function a( ){...//禁止出现没有转义的script,否则解析出错}
</script>
2、包含外部Javascript文件。
<script type="text/javascript" src="example.js"></script>//其中src可以使用外部域的路径,但是为了安全需谨慎使用