Web浏览器一般使用公共 API来创建主机对象来负责将DOM对象反射进JavaScript。 问题1:DOM(BOM) 究竟存在于浏览器内核中还是JS 引擎中问题2:DOM树的构建是由谁来构建完成的问题3:JS引擎如何处理DOM的 

解决方案 »

  1.   

    很高深的问题!还没关注过这个东东!
    我自己的要求:能写js就OK! 
      

  2.   

    DOM应该是独立模块,浏览器中可用,js引擎也同样可用,其他插件也可使用。至于如何捆绑打包,我想不太重要。
      

  3.   


    Dom是内置在浏览器中的一种应用程序接口,不是javascript的一部分也可以被vbscript和javascript调用
      

  4.   

    没人回复问题和做更深入的解释。
    我没查资料,就用自己的“感觉”抛砖引玉吧。因为感觉前两个问题比较容易回答,相对来说也不能算是重点。在后面我想修改一下问题。问题1:DOM(BOM) 究竟存在于浏览器内核中还是JS 引擎中这个应该是由浏览器内核完成。JS引擎只负责我们平时使用的JS中比较核心的部分。浏览器再将JS引擎的功能与DOM,BOM结合起来。比如window对象及window.location等对象都是操作浏览器部件的,这些都不属于JS引擎本身的范畴。再比如UE里也扩展了脚本功能,使用了UE的对象(UOM?呵呵),JS引擎不可能为了众多和未知的应用而把它们都纳进自己的范畴。这就是谁是谁的子集的问题。问题2:DOM树的构建是由谁来构建完成的当然是浏览器内核。JS引擎还是只负责它JS代码处理那一块。问题3:JS引擎如何处理DOM的
    这个就是我关心和想知道的。事实上我想这个问题可以问得更深入些,关于DOM,BOM,无论是模型图例还是文字说明,只停留在表面关系上,都没有给出真正技术性的内部数据结构组织的说明,这和汇编方面的资料完全相反。当然,作为使用来说,基本也不需要知道那些内幕细节。但从研究认知的角度看,这的确“很闹心”。更何况有时还可能真想做做这方面的开发,那就更感缺乏资料。我想是还不熟悉这方面的资料来源吧。所以借这里大家讨论的机会,看哪位朋友能提供些这方面好的资料网址。比如说W3C组织有没有这些方面的公开而详尽的技术文档(如上面所说,不是表层的那种关系式说明,而是讲内部实现机制和各方面具体数据组织形式的)。
      

  5.   

    js的引擎是没有浏览器区别的,所以DOM的解析是又浏览器内核来完成的最后一个问题我来打个比方
    我们写在HTML里面的document等对象是浏览器对js封装好的对象。
    这个就像是我们写类库的时候封装好一个类,里面的实现其实还是由普通的语法和语义。只是在外面看来我们直接调用类就可以完成了~
      

  6.   

    我同意这种学习的精神,但不赞同研究好了内核能更好的优化代码这种说法。你把内核研究的再清楚有什么用,你能改吗?你只能改自己的代码。如果你觉得程序什么地方可能用document.getElementById 比 getElementsByTagName 更好,但是下面的代码中可能因为你这里的改动而变的没有原来高效了,怎么办,下面再改,最后改来改去,是优化了还是更差了,谁说的准呢对于JS而言,只要知道这个DOM的API有什么作用,在程序中合理使用就行了。