1. 程式人生 > >前端基礎值BOM和DOM

前端基礎值BOM和DOM

知識 但是 後來 客戶 image src 歷史 bubuko wid

前戲

  到目前為止,我們已經學過了JavaScript的一些簡單的語法。但是這些簡單的語法,並沒有和瀏覽器有任何交互。

  也就是我們還不能制作一些我們經常看到的網頁的一些交互,我們需要繼續學習BOM和DOM相關知識。

  JavaScript分為 ECMAScript,DOM,BOM。

  BOM(Browser Object Model)是指瀏覽器對象模型,它使 JavaScript 有能力與瀏覽器進行“對話”。

  DOM (Document Object Model)是指文檔對象模型,通過它,可以訪問HTML文檔的所有元素。

  Window對象是客戶端JavaScript最高層對象之一,由於window對象是其它大部分對象的共同祖先,在調用window對象的方法和屬性時,可以省略window對象的引用。例如:window.document.write()可以簡寫成:document.write()。

BOM

window對象

技術分享圖片

所有瀏覽器都支持 window 對象。它表示瀏覽器窗口。

  *如果文檔包含框架(frame 或 iframe 標簽),瀏覽器會為 HTML 文檔創建一個 window 對象,並為每個框架創建一個額外的 window 對象(了解)。

  *沒有應用於 window 對象的公開標準,不過所有瀏覽器都支持該對象(了解)。

  所有 JavaScript 全局對象、函數以及變量均自動成為 window 對象的成員。

  全局變量是 window 對象的屬性。全局函數是 window 對象的方法。

  接下來要講的HTML DOM 的 document 也是 window 對象的屬性之一。

  一些常用的Window方法:(在瀏覽器調試器的console裏面輸入下面這些屬性或者方法,就能看到對應的效果)

window.innerHeight - 瀏覽器窗口的內部高度
window.innerWidth - 瀏覽器窗口的內部寬度
window.open() - 打開新窗口
window.close() - 關閉當前窗口 (只能關閉用js的window.open()打開的頁面,了解一下就行了)

window的子對象

  navigator對象(了解即可)

    瀏覽器對象,通過這個對象可以判定用戶所使用的瀏覽器,包含了瀏覽器相關信息。

navigator.appName  // Web瀏覽器全稱
navigator.appVersion  // Web瀏覽器廠商和版本的詳細字符串
navigator.userAgent  // 客戶端絕大部分信息
navigator.platform   // 瀏覽器運行所在的操作系統

screen對象(了解即可)

屏幕對象,不常用。一些屬性:

screen.availWidth - 可用的屏幕寬度
screen.availHeight - 可用的屏幕高度

history對象(了解即可)

  window.history 對象包含瀏覽器的歷史。

  瀏覽歷史對象,包含了用戶對當前頁面的瀏覽歷史,但我們無法查看具體的地址,可以簡單的用來前進或後退一個頁面。

history.forward()  // 前進一頁,其實也是window的屬性,window.history.forward()
history.back()  // 後退一頁

技術分享圖片

location對象

  window.location 對象用於獲得當前頁面的地址 (URL),並把瀏覽器重定向到新的頁面。

  常用屬性和方法:

location.href  獲取URL
location.href="URL" // 跳轉到指定頁面
location.reload() 重新加載頁面,就是刷新一下頁面

上面的內容需要大家記住的是:

  1.window對象

  2.window的子對象:location的那幾個屬性和方法

  3.其他的作為了解

彈出框

  可以在 JavaScript 中創建三種消息框:警告框、確認框、提示框。

警告框

  警告框經常用於確保用戶可以得到某些信息。

  當警告框出現後,用戶需要點擊確定按鈕才能繼續進行操作。

  語法:

alert("你看到了嗎?");

技術分享圖片

確認框(了解即可)

  確認框用於使用戶可以驗證或者接受某些信息。

  當確認框出現後,用戶需要點擊確定或者取消按鈕才能繼續進行操作。

  如果用戶點擊確認,那麽返回值為 true。如果用戶點擊取消,那麽返回值為 false。

  語法:

confirm("你確定嗎?")

我們可以根據返回的true和false來判斷一下,然後根據這個值來使用location去跳轉對應的網站。

技術分享圖片

提示框(了解即可)

    提示框經常用於提示用戶在進入頁面前輸入某個值。

    當提示框出現後,用戶需要輸入某個值,然後點擊確認或取消按鈕才能繼續操縱。

    如果用戶點擊確認,那麽返回值為輸入的值。如果用戶點擊取消,那麽返回值為默認值,就是第二個參數,如果沒有默認值那麽返回null。

    語法:

prompt("請在下方輸入","你的答案")

技術分享圖片

可以通過用戶輸入的內容來判斷我們怎麽去進行後面的操作

除了那個警告框(用的也不都),其他的都很少用,比較醜陋,了解一下就行

計時相關(比較重要)

  通過使用 JavaScript,我們可以在一定時間間隔之後來執行代碼,而不是在函數被調用後立即執行。我們稱之為計時事件。

  setTimeout() 一段時間後做一些事情

  語法:

前端基礎值BOM和DOM