Q:什麼是BOM?
A:Browser Object Model ,瀏覽器對象模型,主要功能是提供js與瀏覽器的交互功能javascript
window是js的頂級對象,全部定義在全局的變量和函數最終都會成爲window的屬性和方法,調用時能夠省略windowhtml
var test="name"; #聲明一個全局變量
console.log(test); //輸出結果:name
console.log(window.test); //輸出結果:name
複製代碼
function name(){
console.log(web); //定義一個函數
}
name(); //輸出結果:web
window.name(); //輸出結果:web
複製代碼
瀏覽器經過 alert()、confirm() 和 prompt() 方法能夠調用系統對話框向用戶顯示消息。它們的外觀由操做系統及(或)瀏覽器設置決定,而不是由 CSS 決定。此外,經過這幾個方法打開的對話框都是同步和模態的。也就是說,顯示這些對話框的時候代碼會中止執行,而關掉這些對話框後代碼又會恢復執行。java
window.alert("hello") //單純的彈窗
var result = window.confirm("hello") //彈窗時能接受返回值true or false
console.log(result)
var result = window.prompt("hello") //彈窗時能接受用戶輸入
console.log(result)
複製代碼
能夠直接調用location打印所包含的方法,經常使用方法和屬性以下:web
host: "juejin.im" //返回服務器名稱以及端口號(若是有)
hostname: "juejin.im" //返回服務器名稱
href: "https://juejin.im/search?query=xxx" //返回完整url
origin: "https://www.cnblogs.com"
pathname: "/2010master/p/5824215.html"
port: "" //返回端口(若是有)
location.reload("true") //刷新頁面 true表明無緩存刷新
複製代碼
能夠直接調用navigator打印所包含的方法,經常使用方法和屬性以下:瀏覽器
navigator.userAgent //瀏覽器信息
navigator.platform //系統平臺
複製代碼
history.length //歷史記錄長度
history.forward() //前進一步
history.back() //後退一步
history.go() //根據參數實現任意跳轉,也就是說history.go(1) 等同於 history.forward()
複製代碼