BOM
Browser Object Model
瀏覽器對(duì)象模型
作用:能夠在 JS 中與瀏覽器實(shí)現(xiàn)“對(duì)話”
沒(méi)有標(biāo)準(zhǔn)化
Window 對(duì)象:
JS中可以使用 window 來(lái)引用 Window 對(duì)象佛呻,Window對(duì)象表示的是瀏覽器中打開(kāi)的窗口病线,相當(dāng)于是瀏覽器中的最頂層對(duì)象送挑。
Window 對(duì)象擁有全局作用域,我們定義的全局變量纺裁、函數(shù)都相當(dāng)于是 Window 對(duì)象的屬性司澎。
Window對(duì)象的屬性調(diào)用時(shí),可以省略 "window." 的書(shū)寫(xiě)
Location 對(duì)象:
代表 URL
window.location 或 location 來(lái)引用
協(xié)議://域名:端口/路徑名稱?查詢字符串#hash
屬性:
(1)hash 設(shè)置或返回從井號(hào) (#) 開(kāi)始的 URL(錨)谚殊。
(2)host 設(shè)置或返回主機(jī)名和當(dāng)前 URL 的端口號(hào)蛤铜。
(3)hostname 設(shè)置或返回當(dāng)前 URL 的主機(jī)名围肥。
(4)href 設(shè)置或返回完整的 URL。
(5)pathname 設(shè)置或返回當(dāng)前 URL 的路徑部分怨愤。
(6)port 設(shè)置或返回當(dāng)前 URL 的端口號(hào)蛹批。
????????默認(rèn)端口:HTTPS--443? HTTP--80
(7)protocol 設(shè)置或返回當(dāng)前 URL 的協(xié)議篮愉。
(8)search 設(shè)置或返回從問(wèn)號(hào) (?) 開(kāi)始的 URL(查詢部分)试躏。
方法:
reload() 重新加載
History 對(duì)象:
代表訪問(wèn)歷史記錄
window.history 或 history 來(lái)引用
方法:
(1)back() -- 后退设褐,一個(gè)記錄
(2)forward() -- 前進(jìn),一個(gè)記錄
(3)go(num) -- 前進(jìn)(+)/后退(-)
Navigator 對(duì)象:
代表瀏覽器本身相關(guān)信息
window.navigator 或 navigator 引用
屬性:
userAgent
Document 對(duì)象:
代表瀏覽器中打開(kāi)的文檔
其它屬性:
innerWidth
innerHeight
方法:
alert()
prompt()
confirm()
open()
close()
計(jì)時(shí)器:
(1)setInterval(fn, time) -- 周期性執(zhí)行犀被,每隔 time 時(shí)長(zhǎng)執(zhí)行一次 fn 函數(shù)
(2)setTimeout(fn, time) -- 一次性執(zhí)行寡键,指定 time 時(shí)長(zhǎng)后執(zhí)行一次 fn 函數(shù)
(3)clearInterval(id) -- id 是 setInterval() 啟動(dòng)的計(jì)時(shí)器返回值
(4)clearTimeout(id) -- id 是 setTimeout() 啟動(dòng)的計(jì)時(shí)器返回值
JavaScript 是單線程的應(yīng)用程序雪隧。
EventLoop 機(jī)制
異步任務(wù)、異步機(jī)制
回調(diào)函數(shù)
通過(guò)遞歸藕畔,也可以使用 setTimeout() 達(dá)到 setInterval() 周期性計(jì)時(shí)的效果