瀏覽器對象模型( browser object model )css
什麼是BOM?chrome
提起BOM就不得不提起JavaScript的構成。ECMAScript爲JavaScript的核心,可是要是在瀏覽器中使用JavaScript,那麼BOM纔是JavaScript的核心。瀏覽器
這時候不得不提起一我的:緩存
假設:有外國人潛逃到中國,那麼不管以前他的權力有多大,到了中國都要遵照中國的法律,也就是說,不管ECMAScript有多麼權威,那麼到了當前的瀏覽器下,都要遵照當前瀏覽器的規則。app
殺人犯法,偷到犯法,搶劫犯法。這些都是公認的法律,奧巴馬在對瀏覽器不知情的狀況下也會默認遵照這些規則。函數
這些通用的的規定就做爲事實上的標準。這個標準就是BOM。操作系統
2.BOM的對象:3d
1)location對象:orm
*window.location.href=""cdn
這是一個取代跳轉連接的頁面;
這個方法存在的意義是,讓我們的跳轉連接能夠操做,能夠拼接>>>>這是開發中一種常見的傳遞數據的方式。
*window.location.reload()
刷新頁面的方法。通常狀況下給reload()傳遞一個true,讓他刷新,並不使用緩存。
緩存的東西通常爲js文件,css文件等。
用這個方法可讓本身不能動的頁面動起來了。刷新當前頁面。
toSource()方法;
只兼容FF瀏覽器,其餘瀏覽器不兼容。 這個方法能夠查看對象的源碼;
語法是 obj.toSource()
2)navigator對象:
navigator.appName 返回獲取當前瀏覽器的名稱。
navigator.appVersion 返回 獲取當前瀏覽器的版本號。
navigator.platform 返回 當前計算機的操做系統。
以上屬性已經在逐漸被拋棄了。
一個新的屬性將替代這些屬性。
navigator.userAgent 返回
close()方法
注意 :FF不支持此方法;
alert( )方法>>>這個沒啥說的;
confirm( )方法;
confirm("對話框的提示文字")
這個方法有返回值,看到返回值的第一想法就是使用返回值;
var i= confirm("對話框的提示文字");
if (i){
document.write('你肯定了')
}else{
document.write('你否認了')
}
prompt()輸入框
用法和confirm相同,返回值是你輸入的值;
3.定時器
setInterval(函數名,執行時間(毫秒))>>>>
每間隔必定時間,就執行一次函數;
進度條 || 倒計時
setTimeout(函數名,執行時間(毫秒))
執行一次
4.一些事件
onload 加載事件網頁加載完畢後執行
onscroll 滾動事件
案例:回到頂部
document.documentElement.scrollTop 表明垂直的滾動條,向下滾動的距離
document.body.scrollTop //chrome 表明垂直的滾動條,向下滾動的距離
document.documentElement.scrollLeft
document.body.scrollLeft