MDN文档: https://developer.mozilla.org/en-US/docs/Web/JavaScript
在html中使用js
向HTML页面插入js的主要方法,就是使用<script>元素。html4.01为<script>定义了6个属性:
async:可选,表示应该立即下载脚本,但不应妨碍页面中的其他操作。只对外部脚本文件有效。
charset:可选,表示通过src属性指定的代码的字符集。由于大多数浏览器都会忽略它的值,因此这个属性很少人用。
defer:可选,表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。
language:已废弃。
src:可选,表示包含要执行代码的外部文件。
type:可选,可以看成是language的替代属性。表示编写代码使用的脚本语言的内容类型(也称为MIME类型)
使用<script>元素的方式有两种:直接在页面中嵌入javascript代码和包含外部javascript文件。
包含在<script>元素内部的 JavaScript 代码将被从上至下依次解释。就拿前面这个例子来说,解释器会解释一个函数的定义,然后将该定义保存在自己的环境当中。在解释器对<script>元素内部的所有代码求值完毕以前,页面中的其余内容都不会被浏览器加载或显示。
与解析嵌入式 JavaScript 代码一样,在解析外部 JavaScript 文件(包括下载该文件)时,页面的处理也会暂时停止。
需要注意的是,带有 src 属性的<script>元素不应该在其<script>和</script>标签之间再包含额外的 JavaScript 代码。如果包含了嵌入的代码,则只会下载并执行外部脚本文件,嵌入的代码会被忽略
无论如何包含代码,只要不存在 defer 和 async 属性,浏览器都会按照<script>元素在页面中出现的先后顺序对它们依次进行解析。换句话说,在第一个<script>元素包含的代码解析完成后,第二个<script>包含的代码才会被解析,然后才是第三个、第四个……
标签的位置
按照传统的做法,所有<script>元素都应该放在页面的<head>元素中,这种做法的目的就是把所有外部文件(包括 CSS 文件和 JavaScript 文件)的引用都放在相同的地方。
可是,在文档的<head>元素中包含所有 JavaScript 文件,意味着必须等到全部 JavaScript 代码都被下载、解析和执行完成以后,才能开始呈现页面的内容(浏览器在遇到<body>标签时才开始呈现内容)。对于那些需要很多 JavaScript 代码的页面来说,这无疑会导致浏览器在呈现页面时出现明显的延迟,而延迟期间的浏览器窗口中将是一片空白。为了避免这个问题,现代 Web 应用程序一般都把全部 JavaScript 引用放在<body>元素中页面内容的后面,
<!DOCTYPE html>
<html>
<head>
<title>Example HTML Page</title>
</head>
<body>
<!-- 这里放内容 -->
<script type="text/javascript" src="example1.js"></script>
<script type="text/javascript" src="example2.js"></script>
</body>
</html>
<noscript>元素
网友评论