2010-04-28 37 views
8

¿Cuál es la diferencia entre JavaScript y DOM? ¿DOM está relacionado con Firefox? ¿DOM es solo una fuente de elementos HTML?¿Cuál es la diferencia entre JavaScript y DOM?

+4

Cuando veo preguntas como esta, puedo decir que el usuario tiene un montón de preguntas y pocas respuestas. Probablemente ni siquiera le importe la respuesta. –

+0

@BlueRaja The Green Unicorn - ¿Qué quiere decir con "Probablemente ni siquiera le importe la respuesta"? –

+12

Él está dando a entender, por el hecho de que ha hecho más de 600 preguntas, y solo ha aceptado ~ 340, que está pidiendo este tipo de pregunta para su reputación, en lugar de su conocimiento real. Con una pregunta sobre la disparidad de las respuestas como la suya (y un vistazo rápido a algunas preguntas), tiendo a estar de acuerdo. –

Respuesta

22

DOM significa Document Object Model y, como se podría adivinar por el nombre, representa la estructura de un documento HTML/XML de forma independiente de plataforma/navegador. El DOM también proporciona una API para manipular el DOM, con funciones como getElementsByTagName y createElement.

JavaScript es un lenguaje de programación que los navegadores web pueden ejecutar. JavaScript puede interactuar con el DOM con DOM scripting.

Editar para responder a su pregunta en un comentario: Por ejemplo, el navegador descarga el HTML junto con los JS y CSS referenciados (e imágenes, Flash, etc.). El navegador construye el DOM a partir del HTML y lo renderiza usando las reglas especificadas en el CSS. JS puede manipular el DOM cuando se carga la página, cuando el usuario hace algo o cuando sucede cualquier otro event. Cuando el DOM cambia, el navegador actualiza lo que se muestra.

+0

¿Entonces las secuencias de comandos de Javascript y DOM son una cosa diferente? –

+0

@ metal-gear-solid Utiliza JavaScript para hacer scripts DOM. DOM scripting es cuando manipulas el DOM con JavaScript. –

+0

¿Puede explicar en una relación de ejemplo simple de navegador, DOM y Javascript. –

1

En pocas palabras, JavaScript le permite manipular el modelo de objetos de documento DOM AKA que controla el scripting del lado del cliente.

+0

¿DOM es parte de todos los navegadores? –

+0

@ metal-gear-solid. No necesariamente, pero todos los navegadores principales intentan una implementación. Algunas veces la implementación es imperfecta. DOM asume que el modelo de memoria subyacente será mapeable a una estructura de árbol donde cada nodo, excepto la raíz, tendrá un único nodo padre. Esto no siempre es cierto en IE. – Alohci

+0

por favor corrígeme si estoy equivocado. De acuerdo con los foros y comentarios que he leído, ¿DOM es como una idea? Quiero decir, como Subversion, puedes hacer subversión de diferentes maneras, por ejemplo, GIT y SVN. Y para DOM puedes manipular elementos html con javascript. – eurica

1

MDC DOM

El Document Object Model (DOM) es una API para documentos HTML y XML. Es proporciona una representación estructural del documento, lo que le permite modificar su contenido visual y presentación. En esencia, se conecta páginas web a scripts o programación idiomas

Mientras JavaScript es el lenguaje de programación que le permitirá operar en el DOM objetos

esperanza de que lo aclara

+0

Los selectores CSS también funcionan en DOM, ¿estoy en lo cierto? –

+0

@ metal-gear-solid - No. DOM es una API. Los selectores de CSS no usan esa API. – Alohci

8

Como otros he dicho que el DOM (D ocument O bject M odel) es esencialmente la API que se utiliza para manipular un documento HTML (o XML) - usualmente usando JavaScript, ya que ese es el idioma que tenemos en el navegador, pero no siempre, ya que hay API tipo DOM para manipular estos documentos en otros idiomas en el servidor o en el escritorio, por ejemplo: http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/package-summary.html.

JavaScript es solo un lenguaje de programación. Suele ser el lenguaje de scripting estándar de facto para la mayoría (si no para todos) de los navegadores web, y así en la práctica, la mayoría de las veces cuando estás escribiendo scripts de manipulación DOM para ejecutarlos en el lado del cliente, estás trabajando con tanto DOM como JavaScript al mismo tiempo.

Sin embargo, no tiene por qué ser así. Alguien podría escribir un navegador web (o un complemento para un navegador web) que permita a los programadores escribir sus scripts de DOM en Python, Ruby, C, Scheme, etc. (de hecho, JavaScript comenzó su vida en Netscape como un Esquema).

Además, hay intérpretes de JavaScript (e incluso compiladores) que se ejecutan completamente fuera de los navegadores web.De hecho, si desea tener una idea de lo que es el lenguaje JavaScript central, puede intentar hacer un poco de scripting usando el Rhino de Mozilla: http://www.mozilla.org/rhino/. No hay DOM por defecto, ningún objeto de ventana, nada asociado con un navegador de manera predeterminada (aunque puede importar algunos paquetes DOM de Java).

También recomendaría leer las especificaciones anteriores de JavaScript 1.5 en MDC (http://developer.mozilla.org/en/Core_JavaScript_1.5_Guide) y parte de su material en el DOM (http://developer.mozilla.org/en/DOM).

+0

+1 gracias por esta información útil –

Cuestiones relacionadas