像HTML页面中插入JavaScrip的主要方法,就是使用<script>元素。HTML4.01为<script>定义了6个属性:async:可选,表示应该立即下载脚本,当不妨碍页面中的其他操作;charset:可选,表示通过src属性指定的代码的字符集;defer:可选,表示脚本可以延迟到文档完全解析和显示之后再执行;language:已废弃,原来用于表示编写代码使用的脚本语言。src:表示要执行代码的外部文件。type:可选,可以看成是language的替代书信,表示编写代码使用的脚本语言的内容类型。
使用<script>元素的方式有两种:直接在页面中嵌入JavaScript代码和包含外部JavaScript文件。使用<script>元素嵌入JavaScript代码时,只须为<script>指定type属性。通过<script>元素来包含外部JavaScript文件,那么src属性就是必需的。这个属性值是一个指向外部JavaScript文件的链接,src属性还可以包含来自外部域的JavaScript文件。
只要不存在defer和async属性,浏览器都会按照<script>元素在页面中出现的先后顺序对它们一次经行解析。
按照惯例,所有<script>元素都应该放在页面的<head>元素中。对于需要很多JavaScript代码的页面,为了避免页面出现明显的延迟,一般把全部JavaScript引用放在<body>元素中页面的内容后面。
defer属性表明脚本在执行时不会影响页面的构造,相当于告诉浏览器立即下载,但延后执行。延迟脚本放在页面底部仍然是最佳选择。async属性不能保证按照指定它们的先后顺序执行,确保两者之间互不依赖非常重要。
包含<nonscript>元素中的内容只有在下列情况才会显示出来:1.浏览器不支持脚本2.浏览器支持脚本,但脚本被禁用。