HTML <script> 标签


实例

通过 JavaScript 输出 "Hello world":

<script>
document.getElementById("demo").innerHTML = "Hello JavaScript!";
</script>
亲自试一试 »

定义和用法

<script> 标签用于定义客户端脚本,比如 JavaScript。

<script> 元素既可包含脚本语句,也可以通过 "src" 属性指向外部脚本文件。

JavaScript 通常用于图像操作、表单验证以及动态内容更改。


提示和注释

注释: 有多种执行外部脚本的方法:

  • 如果 async="async":脚本相对于页面的其余部分异步地执行(当页面继续进行解析时,脚本将被执行)
  • 如果不使用 async 且 defer="defer":脚本将在页面完成解析时执行
  • 如果既不使用 async 也不使用 defer:在浏览器继续解析页面之前,立即读取并执行脚本

注释: 如果使用 "src" 属性,则 <script> 元素必须是空的。

提示: 请参阅 <noscript> 元素,对于那些在浏览器中禁用脚本或者其浏览器不支持客户端脚本的用户来说,该元素非常有用。

提示: 如果您想了解更多有关 JavaScript 的信息,请访问我们的 JavaScript 教程


浏览器支持

元素
<script> Yes Yes Yes Yes Yes


HTML 与 XHTML 之间的差异

在 XHTML 中,脚本中的内容类型声明为 #PCDATA(代替 CDATA),就是说会对实体进行解析。

这意味着,在 XHTML 中,应该编码所有特殊的字符,或者把所有内容嵌套在 CDATA 部分中:

<script type="text/javascript">
//<![CDATA[
var i = 10;
if (i < 5) {
  // 一些代码
}
//]]>
</script>

属性

属性 描述
async async 规定异步执行脚本(仅适用于外部脚本)。
charset charset 规定在脚本中使用的字符编码(仅适用于外部脚本)。
defer defer 规定当页面已完成解析后,执行脚本(仅适用于外部脚本)。
src URL 规定外部脚本的 URL。
type media_type 规定脚本的 MIME 类型。

全局属性

<script> 标签支持 HTML 中的全局属性


相关页面

HTML 教程: HTML Scripts

HTML DOM 参考手册: Script 对象

JavaScript 教程: Learn JavaScript


默认CSS设置

大多数浏览器将使用以下默认值显示 <script> 元素:

script {
  display: none;
}