Javascript 已位于底部的文件的“延迟”属性

Javascript 已位于底部的文件的“延迟”属性,javascript,html,Javascript,Html,由于浏览器从上到下读取文件,如果js文件位于底部,那么使用defer属性有什么意义 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>some title</title> </head> <body> <h1>hello wor

由于浏览器从上到下读取文件,如果js文件位于底部,那么使用defer属性有什么意义

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>some title</title>
    
</head>
<body>
    <h1>hello world</h1>
    <img src=">
    <script defer src="defer-script.js"></script>
</body>
</html> 

一些头衔
你好,世界

默认情况下,web浏览器不应该在解析脚本之前加载解析h1和图像吗?本例中的延迟属性有什么意义,或者浏览器将如何准确解析html文件。

根据文档

带有defer属性的脚本将阻止加载DOMContentLoaded 事件,直到脚本加载并完成计算

defer属性对模块脚本没有影响-它们通过 默认

具有defer属性的脚本将按以下顺序执行: 它们出现在文档中

因此,解析将使用下一个逻辑

defer属性告诉浏览器不要等待脚本。相反,浏览器将继续处理HTML,构建DOM。脚本加载“在后台”,然后在DOM完全构建时运行