window對(duì)象:
BOM的核心對(duì)象是window,它表示瀏覽器的一個(gè)實(shí)例。在瀏覽器中,window對(duì)象有雙重角色,它既是通過(guò)javascript訪問(wèn)瀏覽器窗口的一個(gè)接口,又是ECMAScript規(guī)定的Global對(duì)象。所有全局變量和函數(shù)都是window的屬性和方法
檢測(cè)調(diào)用window.open()打開(kāi)的彈出窗口是否被屏蔽代碼:
var blocked = false;
try{
? ? var baiduWin = window.open("http://www.baidu.com", "_black");
? ? if(baiduWin == null){
? ? ? ? blocked = true;
????}
}catch(ex){
? ? blocked = true;
}
if(blocked){
? ? alert("The popup was blocked");
}
關(guān)于間歇調(diào)用setInterval和超時(shí)調(diào)用setTimeout:
這兩個(gè)函數(shù)的第二個(gè)參數(shù)都是傳入等待時(shí)間,但是經(jīng)過(guò)該時(shí)間后指定的代碼不一定會(huì)執(zhí)行。這是由于js是一個(gè)單線程的解釋器,同一時(shí)間只能執(zhí)行一段代碼。為了控制要執(zhí)行的代碼,就有一個(gè)任務(wù)隊(duì)列。這些任務(wù)會(huì)按照它們添加到隊(duì)列的順序執(zhí)行。第二個(gè)參數(shù)就是告訴javascript再過(guò)多長(zhǎng)時(shí)間把當(dāng)前任務(wù)添加到隊(duì)列中。如果隊(duì)列是空的,那么添加的代碼會(huì)立即執(zhí)行;如果代碼不是空的,那么它就要等前面的代碼執(zhí)行完了以后再執(zhí)行。
系統(tǒng)對(duì)話框:
瀏覽器通過(guò)alert()、confirm()和prompt()方法可以調(diào)用系統(tǒng)對(duì)話框向用戶顯示消息。系統(tǒng)對(duì)話框與在瀏覽器中顯示的網(wǎng)頁(yè)沒(méi)有關(guān)系,也不包含HTML。它們的外觀有操作系統(tǒng)和瀏覽器設(shè)置決定,而不是CSS。此外,系統(tǒng)對(duì)話框都是同步和模態(tài)的,也就是說(shuō),顯示這些對(duì)話框時(shí)代碼會(huì)停止執(zhí)行,而關(guān)掉這些對(duì)話框代碼又會(huì)恢復(fù)執(zhí)行。
location對(duì)象:
location是最有用的BOM對(duì)象之一,它提供了與當(dāng)前頁(yè)面加載的文檔有關(guān)的信息,還提供了導(dǎo)航功能。它既是window對(duì)象的屬性,也是document對(duì)象的屬性。打開(kāi)新URL最常用的方法是設(shè)置location.;每次修改location的屬性(hash除外),頁(yè)面都會(huì)以新URL加載。
navigator對(duì)象:
最早由Netscape Navigator引入的navigator對(duì)象,現(xiàn)在已經(jīng)成為識(shí)別客戶端瀏覽器的事實(shí)標(biāo)準(zhǔn)。主要屬性:
plugins:插件數(shù)組