BOM 
BOM 指的是 Browser Object Model,中文稱 瀏覽器物件模型
介紹 
BOM 是瀏覽器功能的核心,也就是 window
 所有預設的全域變數、函式、物件,都屬於 window 物件

window 
window 物件讓你可以存取和操作瀏覽器的視窗
 像是開啟頁面、關閉頁面、視窗大小等等
- window.open(網址, 目標, 彈出設定)開新網址
- window.close()關閉視窗
- window.outerWidth視窗外部寬度,包含工具列
- window.outerHeight視窗外部高度,包含工具列
- window.innerWidth視窗內部寬度,不含工具列
- window.innerHeight視窗內部高度,不含工具列
js
// 在新分頁開啟網址
window.open("https://google.com")
// 在彈出視窗開啟網址
window.open("https://google.com", "_blank", "width=500,height=500")
// 關閉視窗
window.close();
// 視窗大小,包含工具列等
window.outerWidth
window.outerHeight
// 視窗大小,不含工具列等
window.innerWidth
window.innerHeightlocation 
location 是瀏覽器頁面網址
 可以透過操控這個物件來完成跳轉頁面,或獲取資訊
- location.href目前網址
- location.reload重新載入頁面
- location.hostname取得網域名稱
- location.pathname取得網址路徑
js
// 目前網址
console.log(`目前網址是 ${location.href}`);
// 跳頁
location.href = "https://google.com";
// 重新載入頁面
location.reload();
// 取得網域名稱
location.hostname;
// 取得網址路徑
location.pathname;history 
history 是使用者的瀏覽紀錄
- history.back()上一頁
- history.forward()下一頁
- history.go(數字)移動到目前頁面的相對歷史紀錄
js
// 上一頁
history.back();
// 下一頁
history.forward();
// 移動到目前頁面的相對歷史紀錄
// 正數代表往後幾頁,負數代表往前幾頁
history.go(-1);navigator 
navigator 為使用者的狀態與身分
 包含了瀏覽器名稱、版本以及其他使用者資訊
 現代瀏覽器可以做到的事情非常多,可參考 browser-2020 說明
screen 
screen 可以獲取使用者的螢幕資訊,像是寬度和高度等
- screen.width螢幕寬度
- screen.height螢幕高度
- screen.availWidth可用寬度
- screen.availHeight可用高度
- screen.orientation螢幕方向
popup 
popup 顯示瀏覽器內建的對話框
- alert顯示訊息框
- confirm顯示確認框
- prompt顯示輸入框