创建DOM节点时的Javascript流

创建DOM节点时的Javascript流,javascript,dom,javascript-events,Javascript,Dom,Javascript Events,如果我在DOM树中插入一些元素 document.getElementById("settings-details-form").innerHTML = "<h2 id=\"ddd\">hello</h2>"; document.getElementById(“设置详细信息表单”).innerHTML=“hello”; 在DOM使用新元素更新之前,是否会执行下一行JS代码 执行DOM更新时,JavaScript执行模型是什么?执行下一行时 DOM已更新,例如,您可

如果我在DOM树中插入一些元素

document.getElementById("settings-details-form").innerHTML = "<h2 id=\"ddd\">hello</h2>"; 
document.getElementById(“设置详细信息表单”).innerHTML=“hello”;
在DOM使用新元素更新之前,是否会执行下一行JS代码


执行DOM更新时,JavaScript执行模型是什么?

执行下一行时

  • DOM已更新,例如,您可以查询添加的元素的维度
  • 窗口尚未渲染这意味着您不必担心用户看到不完整的状态:当代码结束时,窗口将被渲染

请注意,大多数浏览器都会进行优化:例如,如果不查询维度,则在需要它们之前(最终用于窗口渲染)不会计算它们。这就是为什么当你不在中间查询DOM布局时,做一堆DOM更改的原因是,只计算一次回流(参见)。确切的流程高度依赖于浏览器引擎,但在功能上,无论浏览器是什么,下一行代码都将看到更新的DOM。

当执行下一行时

  • DOM已更新,例如,您可以查询添加的元素的维度
  • 窗口尚未渲染这意味着您不必担心用户看到不完整的状态:当代码结束时,窗口将被渲染
请注意,大多数浏览器都会进行优化:例如,如果不查询维度,则在需要它们之前(最终用于窗口渲染)不会计算它们。这就是为什么当你不在中间查询DOM布局时,做一堆DOM更改的原因是,只计算一次回流(参见)。确切的流程高度依赖于浏览器引擎,但在功能上,无论浏览器是什么,下一行代码都将看到更新的DOM