摘要:本教程将帮助您通过展示如何将 JavaScript 代码嵌入 HTML 页面来开始使用 JavaScript。
要将 JavaScript 插入 HTML 页面,请使用<script>
元素。在 HTML 页面中使用<script>
元素有两种方法
- 直接将 JavaScript 代码嵌入 HTML 页面。
- 引用外部 JavaScript 代码文件。
在 HTML 页面上嵌入 JavaScript 代码
不建议将 JavaScript 代码直接放在<script>
元素中,应仅用于概念验证或测试目的。
<script>
元素中的 JavaScript 代码从上到下解释。例如
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript Hello World Example</title>
<script>
alert('Hello, World!');
</script>
</head>
<body>
</body>
</html>
Code language: HTML, XML (xml)
在<script>
元素中,我们使用alert()
函数来显示Hello, World!
消息。
包含外部 JavaScript 文件
要从外部文件包含 JavaScript,
- 首先,创建一个扩展名为
.js
的文件,例如app.js
,并将其放在js
目录中。请注意,虽然将 JavaScript 文件放在js
目录中不是必需的,但它被认为是最佳实践。 - 然后,在
<script>
元素的src
属性中使用 JavaScript 源代码文件的 URL。
以下是 app.js 文件的内容
alert('Hello, World!');
Code language: JavaScript (javascript)
以下是helloworld.html
文件的内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript Hello World Example</title>
<script src="js/app.js"></script>
</head>
<body>
</body>
</html>
Code language: HTML, XML (xml)
如果您在 Web 浏览器中启动helloworld.html
文件,您将看到一个显示Hello, World!
消息的警报。
请注意,您可以从远程服务器加载 JavaScript 文件。这使您能够从不同的域(例如,内容交付网络 (CDN))提供 JavaScript,以提高页面加载速度。
当您在一个页面上有多个 JavaScript 文件时,JavaScript 引擎会按它们出现的顺序解释这些文件。例如
<script src="js/service.js"></script>
<script src="js/app.js"></script>
Code language: HTML, XML (xml)
在此示例中,JavaScript 引擎将按顺序解释service.js
和app.js
文件。它首先完成解释service.js
文件,然后继续解释app.js
文件。
对于包含许多外部 JavaScript 文件的页面,空白页面可能会在渲染阶段显示。
为了防止这种情况,您可以在</body>
标记之前包含 JavaScript 文件,如本例所示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript Hello World Example</title>
</head>
<body>
<!-- end of page content here-->
<script src="js/service.js"></script>
<script src="js/app.js"></script>
</body>
</html>
Code language: HTML, XML (xml)
async 和 defer 属性
要修改浏览器加载和执行 JavaScript 文件的方式,请使用<script>
元素的两个属性之一:async
和defer
。这些属性仅对外部脚本文件有效。
async 属性
async
属性指示 Web 浏览器异步执行 JavaScript 文件。但是,它不能保证脚本文件将按它们出现的顺序执行。例如
<script async src="service.js"></script>
<script async src="app.js"></script>
Code language: HTML, XML (xml)
app.js
文件可能会在service.js
文件之前执行。因此,您必须确保它们之间没有依赖关系。
defer 属性
defer
属性请求 Web 浏览器在解析 HTML 文档后执行脚本文件。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript defer demonstration</title>
<script defer src="defer-script.js"></script>
</head>
<body>
</body>
</html>
Code language: HTML, XML (xml)
即使我们将<script>
元素放在<head>
部分,脚本也会等到浏览器接收到结束</html>
标记后才会开始执行。
摘要
- 使用
<script>
元素在 HTML 页面中包含 JavaScript 文件。 <script>
元素的async
属性指示 Web 浏览器并行获取 JavaScript 文件,然后在 JavaScript 文件可用后立即解析和执行它。<script>
元素的defer
属性允许 Web 浏览器在解析完文档后执行 JavaScript 文件。