在HTML中,<script>
标签的defer
属性用于延迟脚本的执行,直到文档解析完成。使用了defer
属性的脚本会按照它们在文档中出现的顺序执行,而不是相反。
具体执行顺序:
当浏览器解析HTML时:
- 遇到带有
defer
属性的脚本时,会将其下载,但不会立即执行。
- 遇到带有
当文档解析完成后:
- 按照在文档中的出现顺序,依次执行所有带有
defer
属性的脚本。
- 按照在文档中的出现顺序,依次执行所有带有
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Defer Example</title>
<script src="script1.js" defer></script>
<script src="script2.js" defer></script>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>
在上面的示例中,虽然两个脚本是异步下载的,但 script1.js
会在 script2.js
之前执行,因为它们按顺序定义在文档中。
总结一下:使用 defer
属性并不会导致反向执行,而是确保按顺序执行。
内容由零声教学AI助手提供,问题来源于学员提问