COM 和 DOM 的区别

use*_*987 1 html

任何人都可以向我简要介绍组件对象模型和文档对象模型之间的区别并详细说明它们是什么以及如何使用它们

太感谢了

Sir*_*ius 5

COM(组件对象模型)是基于从共同祖先 (IUnknown) 继承的接口的 Microsoft Windows 平台的跨语言编程模型,提供了一种创建、然后动态发现和使用各种软件库(组件)的方法。

例如,整个 Windows Shell 是一组 COM 库,而 Windows 资源管理器使用组件来扩展其默认功能,例如添加新工具栏,或为各种文件类型提供属性表。

COM 是一种需要学习的相当复杂的技术,充满陷阱,并且在很大程度上基于 Windows 注册表和 GUID(例如...{21EC2020-3AEA-1069-A2DD-08002B30309D})。它使用引用计数来处理组件的内存分配和释放。COM 提供了几种方法来实例化这些组件,即各种“线程模型”。

我邀请您阅读 COM 的维基百科条目,因为关于它还有很多要说的:http : //en.wikipedia.org/wiki/Component_Object_Model

DOM 是一种完全无关的技术。

浏览器中的网页建立在 SGML 之上,现在是基于 XML 的语言,即 HTML 家族。

这些语言是分层的,因为它们由容器标签组成,而容器标签又包含其他标签。

<html>
    <body>
        <img src="t.jpg" />
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

DOM(文档对象模型)是一种通过编程访问此层次结构的标准化方式,用于读取或修改,通常使用诸如 Javascript 之类的语言。

它还提供了可用于增强网页交互性的各种事件,例如“onclick”、“onload”事件...

W3C 在标准化该模型方面发挥了重要作用,因此各种浏览器可以(大部分)兼容并使用相同的 javascript 代码来操作页面的 DOM。