JavaScript的基礎(chǔ)組成部分

JavaScript的基礎(chǔ)組成部分

1.核心(ECMAScript)


2.文檔對(duì)象模型(DOM)


3.瀏覽器對(duì)象模型(BOM)


(1)BOM




???????? 1)BOM是瀏覽器對(duì)象模型,和瀏覽器關(guān)系密切,用來獲取或設(shè)置瀏覽器的屬性、行為,如新建窗口、打開新選項(xiàng)卡(標(biāo)簽頁)、關(guān)閉頁面、把網(wǎng)頁設(shè)為主頁、加入收藏夾、獲取屏幕分辨率、瀏覽器版本號(hào)等。


???????? 2)BOM沒有相關(guān)標(biāo)準(zhǔn)。由于沒有標(biāo)準(zhǔn),不同的瀏覽器實(shí)現(xiàn)同一功能,可以需要不同的實(shí)現(xiàn)方式,不同的瀏覽器的實(shí)現(xiàn)功能所需要的JavaScript代碼可能不相同。


???????? 3)BOM是由navigator、history、screen、location、window五個(gè)對(duì)象組成的,最根本對(duì)象是window。


內(nèi)置對(duì)象總結(jié):


???????? 1.window對(duì)象:BOM的核心對(duì)象是window,它表示瀏覽器的一個(gè)實(shí)例

???????? window的主要屬性:

window的主要方法:

???????? 2.location對(duì)象:提供了與當(dāng)前窗口中加載的文檔有關(guān)的信息,還有一些導(dǎo)航功能,值得注意的是location既是window對(duì)象的屬性,又是document對(duì)象的屬性,既window.location和document.location 引用的是同一個(gè)對(duì)象

????????????????? window.location ="http://www.666.com";??? //頁面跳轉(zhuǎn)到該網(wǎng)址


????????????????? location.;????? //頁面跳轉(zhuǎn)到該網(wǎng)址


????????????????? location.assign("http://www.666.com");???? //頁面跳轉(zhuǎn)到該網(wǎng)址



????????????????? 前兩種方法其實(shí)底層也是調(diào)用了location.assign(),即三者結(jié)果是一樣的。


????????????????? 注:這三種方法跳轉(zhuǎn)之后可以通過后退按鈕返回到跳轉(zhuǎn)之前的頁面。


????????????????? location.replace("http://www.666.com");?? //頁面跳轉(zhuǎn)到該網(wǎng)址,跳轉(zhuǎn)之后不可返回前一頁面


???????? 3.navigator對(duì)象:該對(duì)象里面保存著瀏覽器的各種信息,判斷瀏覽器的各種信息就是從該對(duì)象里的屬性來讀取.


???????? 4.history對(duì)象:該對(duì)象保存著用戶上網(wǎng)的歷史記錄,從窗口被打開的那一刻算起。出于安全考慮,開發(fā)人員不能知道用戶瀏覽過的網(wǎng)址的具體url,但是我們可以通過下面方法在不知道具體歷史url的情況下控制用戶頁面前進(jìn)或后退。

????????????????? history.go(-1);?? //頁面后退一頁


????????????????? history.go(1);??? //頁面前進(jìn)一頁


????????????????? history.go("666");?? //跳轉(zhuǎn)到距當(dāng)前頁面最近的包含666字符串的頁面,可能前進(jìn)可能后退。


????????????????? //下面這兩個(gè)方法對(duì)應(yīng)history.go()的前進(jìn)和后退。

????????????????? history.back(1);? //后退一頁


????????????????? history.forward(1)? //前進(jìn)一頁


2、DOM


???????? 1)DOM是文檔對(duì)象模型,HTML 和 XML 的應(yīng)用程序接口(API),用來獲取或設(shè)置文檔中標(biāo)簽的屬性,和文檔有關(guān),這里的文檔指的是網(wǎng)頁,也就是HTML文檔。網(wǎng)頁是由服務(wù)器發(fā)送給客戶端瀏覽器的,無論用什么瀏覽器,接收到的HTML都是一樣的,所以DOM和瀏覽器無關(guān),它關(guān)注的是網(wǎng)頁本身的內(nèi)容。


???????? 2)DOM是W3C的標(biāo)準(zhǔn)。


???????? 3)DOM最根本對(duì)象是document(實(shí)際上是window.document)


4) DOM是一種基于樹的API文檔,它要求在處理過程中整個(gè)文檔都表示在存儲(chǔ)器中

主要的接口有:

????????????????? 1):Node接口:它是文檔中節(jié)點(diǎn)的基類型。定義了基本的訪問和改變文檔結(jié)構(gòu)的方法。

????????????????? 2):Document接口:它代表整個(gè)文檔??蓜?chuàng)建文檔中的各種節(jié)點(diǎn)(元素、注釋、處理指令等),創(chuàng)建的節(jié)點(diǎn)中帶有一個(gè)OwnerDoculnent屬性表示創(chuàng)建它們的Document對(duì)象。

????????????????? 3):DocumentFragment接口:它代表文檔樹的子樹,相當(dāng)一個(gè)小型文檔。

????????????????? 4):Attr接口:它代表元素節(jié)點(diǎn)的屬性。有意思的是它并不認(rèn)為是該元素節(jié)點(diǎn)的子節(jié)點(diǎn),不構(gòu)成DOM樹的一部分。同時(shí)也不是DocumentFragment節(jié)點(diǎn)的直接子節(jié)點(diǎn)。

????????????????? 5):CharacterData接口:它維護(hù)了DOMsitrgn字符串并提供讀寫操作的接口。但不直接對(duì)應(yīng)文檔的某種類型節(jié)點(diǎn)。

????????????????? 6):Text接口:它從CharacterData繼承而來。代表元素或?qū)傩缘囊欢芜B續(xù)的文本內(nèi)容。它有一個(gè)派生的接口CDATAsection,目的是:CDATASeciton節(jié)點(diǎn)的內(nèi)容將不會(huì)作任何轉(zhuǎn)化;使用Node中的nomraliez方法時(shí)相鄰的Text節(jié)點(diǎn)會(huì)合并成一個(gè)節(jié)點(diǎn),但使用CDATASeciton可避免合并。

????????????????? 7):Comment接口:它也從CharacterData繼承而來。代表注釋中的文本內(nèi)容。

????????????????? 8):NodeList接口:用于管理有序的節(jié)點(diǎn)集。

????????????????? 9):Entity接口:它代表實(shí)體;EntityReference代表實(shí)體的引用。

????????????????? 10):NamedNodeMap接口:用于管理無序的節(jié)點(diǎn)集。

???????? ???????? 11):DOMImplementation接口:它提供與DOM模型的實(shí)例無關(guān)的接口。CreateDocument可創(chuàng)建一個(gè)Document對(duì)象;haseFature可判斷DOM實(shí)現(xiàn)是否支持某一模塊。

????????????????? 12):Notation接口:它代表文檔中的符號(hào)定義。

????????????????? 13):ProcessingInstruction接口:它代表處理指令。

????????????????? 14):DOMException接口:異常處理。由于程序中的邏輯錯(cuò)誤、數(shù)據(jù)丟失或DOM實(shí)現(xiàn)本身不穩(wěn)定引起的錯(cuò)誤。在程序處理過程中,由方法返回一個(gè)錯(cuò)誤值。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容