节点对象树如何进入浏览器

时间:2015-08-10 13:32:09

标签: javascript dom

我知道javascript是同步的。

但是如何构建Node对象树是在浏览器中生成一个被称为的对象的浏览器中完成的     节点及其所有属性 用于绘制的CSS引擎和用于横向html dom的javascript引擎。或者下载的页面被加载到javascript引擎中并且javascript解析它以在全局执行上下文中准备好Node树? E.g

Function(fetched_page) -> Node tree constructor 

1 个答案:

答案 0 :(得分:1)

通常,浏览器会在加载时使用本机代码来解析HTML页面内容。

页面中包含的任何脚本都会以找到的形式执行(除非使用带有<script>和/或defer属性的async标记加载。这就是为什么除非您等待<body>事件或类似事件,否则您无法在<head>中找到的脚本中引用页面"onload"中定义的元素 - 那些元素还没有存在。

浏览器的JavaScript解释器中可用的与DOM相关的函数通常只是浏览器本身使用的相同本机代码函数的挂钩。