1. 程式人生 > 其它 >JavaScript----BOM模組,定時器

JavaScript----BOM模組,定時器

技術標籤:筆記javascript定時器bom

BOM模組:

首先我們先知道什麼是BOM?

BOM物件:瀏覽器物件模型,BOM部分主要是針對瀏覽器的內容,其中常用的就是window物件和location,提供了一些獨立於內容頁面與瀏覽器視窗進行互動的物件介面,它的核心是window物件,window是全域性物件很多關於瀏覽器的指令碼設定都是通過它。

BOM也是由一系列相關的物件組成,並且每個獨享都提供了很多方法和屬性,但是BOM缺少標準化,JS的語法的標準化是ECMA組織提出的,DOM的標準化組織W3C,BOM最初始Netscape瀏覽器標準的一部分。

之前我們也學習了DOM我們來看看這兩者有什麼區別吧:

DOMBOM
文件物件模型瀏覽器物件模型
DOM將文件當做一個物件來處理BOM的頂級物件是window
主要學習的是對頁面元素的操作學習的是瀏覽器視窗互動的一些物件
DOM是W3C標準規範是瀏覽器廠家在格子瀏覽器上定義的規範

window頂級物件是JS訪問瀏覽器視窗的一個介面,window是一個全域性變數,宣告所有的全域性變數,全域性方法函式最終都是window物件的屬性或者方法

視窗載入事件的兩種寫法:

1.window.onload = function () { }

2.window.addEventListener ("load",function(){ })

文件載入事件:window.addEventListener("DOMContentLoaded",function(){ }

定時器:

1.setTimeout();定時炸彈計時器:使用時指定一個時間,知道事件一到直接執行繫結的事件,只會執行一次

window.setTimeout(function(){
            alert("hello");
        },3000)

第一個引數:事件所執行的函式

第二個引數:延遲的時間,時間間隔以毫秒為單位

停止計時器:window.clearTimeout(計時器識別符號)

2.serInterval();鬧鐘定時器使用時指定一個時間段,然後每隔這個時間段都會呼叫一次執行函式,哪怕第一次執行函式也會等待一個時間段後才執行

window.setInterval
(function(){ console.log("hello"); },1000);

引數同上

停止計時器:window.clearInterval(計時器識別符號)

練習:每秒輸出一個數字

var i = 0; 
window.setInterval(function () {
    console.log(i);
    i++;
},1000);

location物件:

window物件給我們提供了一個location屬性,這個物件主要用於獲取或設定窗體的url地址,並且可以用於解析url

URL:

同一資源定位符(Uniform Resource Location)是網際網路上的標準資源地址,網路所有的資料都以檔案形式儲存,每個檔案在網路世界中都有一個唯一的URL,它包含的資訊指出檔案的所在位置及瀏覽器的處理方式

port:埠號可選,如果省略使用的是預設的埠,http預設的埠號是 80

path:路徑由0個或多個"/"+檔案地址等組成,表示主機上的檔案地址目錄

屬性:

  1. href:獲取或設定一個url
  2. host:返回主機(域名)
  3. port:返回埠號,如果未寫返回空字串
  4. pathname:返回路徑
  5. search:返回引數,URL引數是指URL地址中網址之後的?以後
  6. hash:返回片段,URL中#後面的內容

方法:

  1. assign():和href一樣,可以跳轉頁面,重定向跳轉
  2. replace():替換當前頁面,不記錄入歷史中,所以不能後退頁面
  3. reload():重新載入頁面,相當於重新整理按鈕,如果引數為true相當於強制重新整理

navigation物件:

navigation物件主要是記錄有關瀏覽器的資訊,常用的屬性userAgent,這個屬性可以返回由客戶端傳送至伺服器的user-agent頭部的值

history物件:

window物件為提供的一個history物件來進行與瀏覽器的歷史記錄進行互動

  1. back():實現瀏覽器後退功能
  2. forward():實現瀏覽器的前進功能
  3. go(引數):前進後退功能,引數如果是1前進一個頁面,如果是-1後退一個頁面,如果是N則前進或後退N個頁面