1. 程式人生 > >BOM(瀏覽器物件模型)和DOM(文件物件模型)

BOM(瀏覽器物件模型)和DOM(文件物件模型)

什麼是BOM(瀏覽器物件模型)

BOM:(Browser Object Mode) 瀏覽器物件模型。

由於現代瀏覽器已經(幾乎)實現了 JavaScript 互動性方面的相同方法和屬性,因此常被認為是 BOM 的方法和屬性,也因此稱之為:瀏覽器物件模型 (BOM) 使 JavaScript 有能力與瀏覽器“對話”。

window物件是BOM的頂層(核心)物件,它可以表示整個瀏覽器的視窗,所有物件都是通過它延伸出來的,也可以稱為window的子物件。
由於window是頂層物件,所有瀏覽器都支援 window 物件。
所有 JavaScript 全域性物件、函式以及變數均自動成為 window 物件的成員。

全域性變數是 window 物件的屬性。
全域性函式是 window 物件的方法。

甚至 HTML DOM 的 document 也是 window 物件的屬性之一
所以:

    window.document.getElementById("header");
    //等價於:
    document.getElementById("header");

window物件物件得到一些基本方法:

    window.open() - 開啟新視窗
    window.close() - 關閉當前視窗
    window.moveTo() - 移動當前視窗
    window.resizeTo() - 調整當前視窗的尺寸

location物件

表示載入視窗的URL(可以理解為就是位址列裡的那段字串),還可以解析URL
既是window物件的屬性,也是document物件的屬性

window.location=document.location

location物件提供了很多屬性和方法用來解析URL:

location.href = “http://www.baidu.com“; //連結到百度
location.hash // 返回url中#後面的內容,包含#
location.host // 主機名,包括埠
location.port // URL中宣告的請求埠,預設情況下,大多數URL沒有埠資訊,所以該屬性通常為空白
location.hostname // 主機名
location.pathname // url中的路徑部分
location.protocol // 協議 一般是http、https
location.search // 查詢字串(執行get請求的URL中問號後面的部分)

screen物件

獲取使用者螢幕資訊,是window物件屬性
availHeight:視窗可以使用的螢幕的高度
availWidth:視窗可以使用螢幕的寬度
注意:不是顯示器的高和寬,是當前解析度的高和寬(解析度的概念)
screen.height:螢幕的高度
screen.width:螢幕的寬度

DOM:(Document Object Model) 文件物件模型

文件物件模型(DOM)是表示文件(比如HTML和XML)和訪問、操作構成文件的各種元素的應用程式介面(API)。通常所說的DOM是指W3C定義的標準的文件物件模型。
DOM樹
 DOM下,HTML文件各個節點被視為各種型別的Node物件。每個Node物件都有自己的屬性和方法,利用這些屬性和方法可以遍歷整個文件樹。
 然後可以對這些node節點物件進行各種操作,如增刪改查等等。