国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

BOM知識簡易總結

notebin / 1870人閱讀

摘要:知識總結在中使用,瀏覽器對象模型是其核心對象的所有對象都存在于一個運行環境之中,這個運行環境本身也是對象,稱為頂層對象。如果中不包含端口號,則這個屬性返回空字符串返回頁面使用的協議。

BOM知識總結

在web中使用JavaScript,BOM(瀏覽器對象模型)是其核心

window對象

JavaScript的所有對象都存在于一個運行環境之中,這個運行環境本身也是對象,稱為“頂層對象”。
這就是說,JavaScript的所有對象,都是“頂層對象”的下屬。不同的運行環境有不同的“頂層對象”,在瀏覽器環境中,這個頂層對象就是window對象。

全局作用域

window對象同時扮演ECMAScript中Global對象的角色,因此所有在全局作用域中聲明的變量、函數都會變成window對象的屬性和方法。

全局變量不能通過delete操作符刪除,而直接在window對象上定義的屬性可以。

窗口的大小和位置 位置

IE、Safari、Opera、Chrome都提供了 screenLeft和screenTop屬性,分別用于表示窗口相對于屏幕左邊和上邊的位置。Firefox則在screenX和screenY屬性中提供相同的窗口位置信息(Safari和Chrome也同樣支持)。

大小

window.innerHeight和window.innerWidth
返回網頁在當前窗口中可見部分的高度和寬度,即“視口”(viewport),單位為像素。當用戶放大網頁的時候(比如將網頁從100%的大小放大為200%),這兩個屬性會變小。因為這時網頁的像素大小不變,只是每個像素占據的屏幕空間變大了,因為可見部分(視口)就變小了。注意,這兩個屬性值包括滾動條的高度和寬度。

window.outerHeight和window.outerWidth
返回瀏覽器窗口的高度和寬度,包括瀏覽器菜單和邊框,單位為像素。

計時器

JS是單線程語言,但它允許通過設置超時值和間歇時間來調度代碼在特定的時刻執行。

setInterval

window對象的setInterval方法用來實現一個函數在指定毫秒數的間隔里重復調用。setInterval返回一個值,這個值可以傳遞給clearInterval用于取消這個函數的執行。

var num = 0,
    max = 10,
    intervalId;
function incrementNumber() {
    num ++;
    if (num == max){
        clearInterval(intervalId);
        alert("ok");
    }
}
intervalId = setInterval(incrementNumber,500);
setTimeout

window對象的setTimeout方法用來實現一個函數在指定的毫秒數之后運行。setTimeout返回一個值,這個值可以傳遞給clearTimeout用于取消這個函數的執行。

var num = 0,
    max = 10;
function incrementNumber() {
    num ++;
    if (num < max){
        setTimeout(incrementNumber,500);
    } else {
        alert("ok");
    }
}
setTimeout(incrementNumber,500);

如果以0毫秒的超時時間來調用setTimeout ( ) ,那么指定的函數不會立即執行。相反,會把它放到隊列中,等到前面處于等待狀態的事件處理程序全部執行完畢后,再“立即”調用它。

frame

window.frames屬性返回一個類似數組的對象,成員為頁面內所有框架窗口,包括frame元素和iframe元素。window.frames[0]表示頁面中第一個框架窗口,window.frames["someName"]則是根據框架窗口的name屬性的值(不是id屬性),返回該窗口。

傳統的frame已被廢棄,由