BOM DOM是什么,如何理解?


BOM

BOM是什么?

BOM == Browser Object Model == 瀏覽器對象模型。

js運行在瀏覽器中,每個頁面都是一個window對象,主要關注點有以下:

  1. Window對象
  2. Screen
  3. Location
  4. History
  5. Navigator
  6. 對話框

1.Window

【說明】 所有瀏覽器均支持,表示瀏覽器窗口。所有 JavaScript 全局對象、函數以及變量均自動成為 window 對象的成員。

  • 全局變量是window對象的屬性
  • 全局函數是window對象的方法

為我們提供了操作瀏覽器的方法,比如關閉、開啟頁面,SPA中改變、禁用“后退”按鈕。

2.Screen

【說明】 每個 Window 對象的 screen 屬性都引用一個 Screen 對象。Screen 對象中存放着有關顯示瀏覽器屏幕的信息,對於移動開發來說,通過Screen對象可獲知設備的分辨率、DPI、可用尺寸等信息。

常用屬性 描述
height 返回顯示器屏幕的高度
width 返回顯示器屏幕的寬度
pixelDepth 返回顯示屏幕的顏色分辨率
availHeight 可用高度(除開系統任務欄)
availWidth 可用寬度

3.Location

【說明】 Location 對象包含有關當前 URL 的信息。

常用屬性 描述
例子 http://example.com:1234/test/test.htm#part2
hash 設置或返回 #part2
host 設置或返回 example.com:1234
href 設置或返回 http://example.com:1234/test/test.htm#part2
protocol 當前 URL 的協議 http:
pathName 當前訪問路徑 /test/test.htm
方法 描述
assign() 加載新的文檔
reload() 重新加載當前文檔
replace() 用新的文檔替換當前文檔

4.History

【說明】 History 對象包含用戶(在瀏覽器窗口中)訪問過的 URL。

常用屬性 描述
length 返回瀏覽器歷史列表中的 URL 數量
back() 加載瀏覽器歷史列表中的前一個 URL
forward() 加載瀏覽器歷史列表中的下一個 URL
go() 加載瀏覽器歷史列表中指定URL

5.Navigator

【說明】 Navigator 對象包含有關瀏覽器的信息。通過該對象可了解瀏覽器詳細信息(版本、廠商、OS、插件等),不是可信的,因為1.所有東西都可以被修改,2.瀏覽器會識別錯誤。

常用屬性 描述
appName 返回瀏覽器的名稱
appVersion 返回瀏覽器的平台和版本信息
platform 返回運行瀏覽器的操作系統平台

6.對話框

  • alert() //單純提示
  • confirm() //詢問確認可返回布爾值
  • prompt() //用戶可輸入內容並返回

DOM

DOM是什么?

DOM == Document Object Model == 文檔對象模型

每個載入瀏覽器的 HTML 文檔都會成為 Document 對象。Document 對象使我們可以從腳本中對 HTML 頁面中的所有元素進行訪問,從而實現動態操作DOM。主要關注點有以下:

  1. DOM節點
  2. DOM方法
  3. DOM屬性
  4. DOM查詢
  5. DOM修改
  6. DOM事件
  7. DOM導航

1.DOM節點

【說明】 在 HTML DOM 中,所有事物都是節點。DOM 是被視為節點樹的 HTML。

  • 整個文檔是一個文檔節點
  • 每個 HTML 元素是元素節點
  • HTML 元素內的文本是文本節點
  • 每個 HTML 屬性是屬性節點
  • 注釋是注釋節點

2.DOM方法

【說明】 HTML DOM 方法是我們可以在節點(HTML 元素)上執行的動作。

常用方法
  • getElementById(id) - 獲取帶有指定 id 的節點(元素)
  • appendChild(node) - 插入新的子節點(元素)
  • removeChild(node) - 刪除子節點(元素)

3.DOM屬性

【說明】 HTML DOM 屬性是我們可以在節點(HTML 元素)設置和修改的值。

常用屬性
  • innerHTML - 節點(元素)的文本值

  • nodeName - 節點(元素)的名稱

  • nodeValue - 節點(元素)的值

  • nodeType - 節點(元素)的類型

    元素類型 NodeType
    元素 1
    屬性 2
    文本 3
    注釋 8
    文檔 9

4.DOM查詢

【說明】 訪問 HTML DOM = 查找 HTML 元素。

  • 通過使用 getElementById() 方法
  • 通過使用 getElementsByTagName() 方法
  • 通過使用 getElementsByClassName() 方法

5.DOM修改

【說明】 修改 HTML = 改變元素、屬性、樣式和事件。

  • 改變 HTML 內容
  • 改變 CSS 樣式
  • 改變 HTML 屬性
  • 創建新的 HTML 元素
  • 刪除已有的 HTML 元素
  • 改變事件(處理程序)

6.DOM事件

【說明】 JavaScript 能夠對 HTML 事件(或者說用戶)做出反應。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM