JavaScript和DOM有什麼區別? DOM與Firefox相關嗎? DOM只是HTML元素的源碼順序嗎?JavaScript和DOM有什麼區別?
回答
DOM代表Document Object Model,正如您從名稱中猜出的那樣,它以獨立於平臺/瀏覽器的方式表示HTML/XML文檔的結構。 DOM還提供了一個API來操作DOM,其功能如getElementsByTagName
和createElement
。
JavaScript是一種Web瀏覽器可以執行的編程語言。 JavaScript可以通過DOM scripting與DOM交互。
編輯回答你的問題的評論:例如,瀏覽器下載HTML以及任何引用的JS和CSS(和圖像,Flash等)。瀏覽器從HTML中構建DOM,並使用CSS中指定的規則呈現它。 JS可能會在頁面加載時,用戶做某事時,或者發生其他任何其他event時操縱DOM。當DOM更改瀏覽器更新顯示內容時。
因此,Javascript和DOM腳本是不同的東西? – 2010-04-28 03:06:20
@ metal-gear-solid您使用JavaScript來完成DOM腳本。 DOM腳本是當你用JavaScript操縱DOM時。 – 2010-04-28 03:10:21
你能解釋一個簡單的瀏覽器,DOM和Javascript的例子關係嗎? – 2010-04-28 03:11:36
簡而言之,JavaScript允許您操縱控制客戶端腳本的DOM AKA Document對象模型。
因此,DOM是每個瀏覽器的一部分? – 2010-04-28 03:20:59
@ metal-gear-solid。不一定,但所有主流瀏覽器都試圖實現。有時候實現是不完美的。 DOM假定底層內存模型將映射到樹結構,其中除根外的每個節點都將具有單個父節點。這在IE中並不總是如此。 – Alohci 2010-04-28 08:21:48
如果我錯了,請糾正我。根據我讀過的論壇和評論,DOM就像一個想法?我的意思是像Subversion,你可以用不同的方式進行顛覆,例如GIT和SVN。而對於DOM,您可以使用javascript來操作html元素。 – eurica 2014-01-24 06:59:19
正如其他已經說過,DOM(D Ovenment O bject M odel)實質上是用來操縱HTML(或XML)文檔的API - 通常是使用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瀏覽器(或者一個網頁瀏覽器的插件),讓程序員用Python,Ruby,C,Scheme等編寫他們的DOM操作腳本(實際上,JavaScript是作爲一種Scheme開始在Netscape中生活的)。
此外,JavaScript解釋器(甚至編譯器)完全在Web瀏覽器之外運行。事實上,如果您想了解核心JavaScript語言是什麼,您可以嘗試使用Mozilla的Rhino做一些腳本:http://www.mozilla.org/rhino/。默認情況下,沒有默認的DOM,沒有窗口對象,也沒有與瀏覽器相關聯(儘管您可以導入一些Java DOM包)。我還推薦閱讀MDC(http://developer.mozilla.org/en/Core_JavaScript_1.5_Guide)及其DOM(http://developer.mozilla.org/en/DOM)上的一些材料的舊JavaScript 1.5規範。
+1感謝這個有用的信息 – 2010-04-28 03:34:35
- 1. 文檔和DOM有什麼區別?
- 2. jquery的dom和「native」dom有什麼區別?
- 3. JavaScript shell - 有什麼區別
- 4. 在JavaScript中,'\'和'\ n'有什麼區別?
- 5. Javascript和ECMA腳本有什麼區別?
- 6. JSP,PHP,HTML5和JavaScript有什麼區別?
- 7. &&和||有什麼區別?在JavaScript中?
- 8. 有什麼區別使用=和:在javascript
- 9. AJAX與JavaScript和jQuery有什麼區別?
- 10. javascript deflate和java.util.zip.Deflater有什麼區別
- 11. JavaScript - 「url.path」和「url.pathname」有什麼區別?
- 12. 有什麼區別`和$(Bash中有什麼區別?
- 13. 區別<p>是什麼Javascript和ASP.net有什麼區別?</p>
- 14. ==和===有什麼區別?
- 15. ==和===有什麼區別?
- 16. 有什麼區別? :和||
- 17. ==和===有什麼區別?
- 18. '=='和'==='有什麼區別?
- 19. `&`和`ref`有什麼區別?
- 20. 有什麼區別:。!和:r!?
- 21. | 0和~~有什麼區別?
- 22. Appender和〜有什麼區別?
- 23. DOM Level 0事件與DOM Level 2事件有什麼區別?
- 24. Polymer的陰影DOM與陰影DOM有什麼區別?
- 25. DOM中的HTMLCollection和NodeList有什麼區別?
- 26. DOM中node.isSameNode(node1)和node === node1有什麼區別?
- 27. react-router 4.0,react-router-dom和react-router-redux有什麼區別?
- 28. xtype和別名有什麼區別?
- 29. 2個JavaScript對象有什麼區別?
- 30. Javascript對象構造:有什麼區別?
當我看到這樣的問題時,我可以告訴用戶有很多問題並沒有太多答案。他可能根本不在乎答案。 – 2010-04-28 03:17:49
@BlueRaja綠色獨角獸 - 你的意思是「他可能根本不在乎答案。」? – 2010-04-28 03:19:54
他暗示,由於你提出了600多個問題,而且只能接受〜340,所以你問的是這種問題的名譽,而不是你的實際知識。有一個問題需要回答像你這樣的差距(並快速看一些問題),我傾向於同意。 – 2010-04-28 04:15:01