JavaScript和DOM有什么区别?

时间:2010-04-28 03:00:59

标签: javascript dom xhtml

JavaScript和DOM有什么区别? DOM与Firefox有关吗? DOM只是HTML元素的源顺序吗?

4 个答案:

答案 0 :(得分:23)

DOM代表Document Object Model,您可以从名称中猜出,它以独立于平台/浏览器的方式表示HTML / XML文档的结构。 DOM还提供了一个API来操作DOM,其功能包括getElementsByTagNamecreateElement

JavaScript是Web浏览器可以执行的编程语言。 JavaScript可以使用DOM scripting与DOM进行交互。

编辑以在评论中回答您的问题:例如,浏览器会下载HTML以及任何引用的JS和CSS(以及图像,Flash等)。浏览器从HTML构造DOM并使用CSS中指定的规则呈现它。 JS可以在页面加载时,当用户执行某些操作时,或者在发生任何其他event时操纵DOM。当DOM更改时,浏览器会更新显示的内容。

答案 1 :(得分:9)

正如其他人所说,DOM( D ocument O bject M odel)本质上是用于操作HTML的API(或XML)文档 - 通常使用JavaScript,因为这是我们在浏览器中使用的语言,但并非总是如此,因为有类似DOM的API用于在服务器端以其他语言操作这些文档或桌面,例如:http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/package-summary.html

JavaScript只是一种编程语言。它恰好是大多数(如果不是全部)Web浏览器的事实标准脚本语言,因此在实践中,大多数情况下,当您编写DOM操作脚本以在客户端运行时,您正在使用它DOM和JavaScript同时使用。

然而,它不一定是那样的。有人可以编写一个Web浏览器(或Web浏览器的插件),让程序员用Python,Ruby,C,Scheme等编写他们的DOM操作脚本(事实上,JavaScript开始在Netscape生活)作为一种计划)。

此外,还有完全在Web浏览器之外运行的JavaScript解释器(甚至编译器)。事实上,如果你想了解核心JavaScript语言是什么,你可以尝试使用Mozilla的Rhino进行一些脚本编写:http://www.mozilla.org/rhino/。没有默认的DOM,没有窗口对象,默认情况下没有与浏览器相关联(尽管您可以导入一些Java DOM包)。

我还建议您阅读MDC(http://developer.mozilla.org/en/Core_JavaScript_1.5_Guide)上的旧JavaScript 1.5规范以及DOM上的一些材料(http://developer.mozilla.org/en/DOM)。

答案 2 :(得分:2)

简单地说,JavaScript允许您操纵控制客户端脚本的DOM AKA Document对象模型。

答案 3 :(得分:2)

MDC DOM

  

文档对象模型(DOM)是一个   HTML和XML文档的API。它   提供结构表示   的文件,使您能够   修改其内容和视觉效果   介绍。基本上,它连接起来   网页到脚本或编程   语言

虽然JavaScript是允许您操作DOM对象的编程语言

希望清除它