Javascript body元素和渲染序列中的onload事件

Javascript body元素和渲染序列中的onload事件,javascript,html,css,dom-events,Javascript,Html,Css,Dom Events,我是css、DOM、渲染的新手。 我们知道,onload可以放在body标记中,在使用Javascript时,确保在元素存在之前获取它,例如: document.getElementById("firstParagraph") 但是DOM对象在创建时的顺序是什么?换句话说,body对象是在其子元素(如标题、段落)之前还是之后创建的 添加 一些回答说,当body标记被创建时,它的子标记还没有被创建,所以如果我在body标记中加入onload属性来调用一个函数来检查段落,它会抛

我是css、DOM、渲染的新手。 我们知道,
onload
可以放在body标记中,在使用Javascript时,确保在元素存在之前获取它,例如:

document.getElementById("firstParagraph")
但是DOM对象在创建时的顺序是什么?换句话说,body对象是在其子元素(如标题、段落)之前还是之后创建的

添加

一些回答说,当body标记被创建时,它的子标记还没有被创建,所以如果我在body标记中加入
onload
属性来调用一个函数来检查段落,它会抛出一个错误,因为段落对象还没有被创建?那么为什么我们要把
onload
放在body标记中呢?

body是html的直接子元素,所以它是在子元素之前创建的,在创建body标记时,onload钩子将被调用。元素按DOM遍历顺序解析。这意味着,当解析器从文档的顶部开始访问标记时,就会呈现标记,同时考虑父子层次结构。对于解析静态HTML,没有什么违反直觉的。注意异步脚本标记though@thaveethugce然后,当创建body标记时,它的子标记还没有创建,所以如果我在body标记中放入onload属性来调用一个函数来检查段落,它将抛出一个错误,因为还没有创建段落对象?请在识别解析脚本时读这个