2021-03-03

一、什么是BOM?

BOM:Browser Object Model 是瀏覽器對象模型,瀏覽器對象模型提供了獨立與內(nèi)容的、可以與瀏覽器窗口進行互動的對象結(jié)構(gòu),BOM由多個對象構(gòu)成,其中代表瀏覽器窗口的window對象是BOM的頂層對象,其他對象都是該對象的子對象。


二、關(guān)于BOM知識的思維導(dǎo)圖

三、BOM對象


window 對象,是 JS 的最頂層對象,其他的 BOM 對象都是 window 對象的屬性;

document 對象,文檔對象;

location 對象,瀏覽器當前URL信息;

navigator 對象,瀏覽器本身信息;

screen 對象,客戶端屏幕信息;

history 對象,瀏覽器訪問歷史信息;

1)、Window對象:BOM的核心對象是window,它表示瀏覽器的一個實例。在瀏覽器中,window對象有雙重角色,它既是通過javascript訪問瀏覽器窗口的一個接口,又是ECMAScript規(guī)定的Global對象。

2)、location對象

window.location對象:用于獲得當前頁面的地址 (URL),并把瀏覽器重定向到新的頁面。在編寫時可不使用 window 這個前綴

3)、navigator對象

window.navigator 對象包含有關(guān)訪問者瀏覽器的信息。在編寫時可不使用 window 這個前綴。

navigator.platform:操作系統(tǒng)類型;

navigator.userAgent:瀏覽器設(shè)定的User-Agent字符串。

navigator.appName:瀏覽器名稱;

navigator.appVersion:瀏覽器版本;

navigator.language:瀏覽器設(shè)置的語言;

userAgent是最常用的屬性,用來完成瀏覽器判斷

4)、screen對象

window.screen 對象包含有關(guān)用戶屏幕的信息。

screen.availWidth 屬性返回訪問者屏幕的寬度,以像素計,減去界面特性,比如窗口任務(wù)欄。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? screen.availHeight 屬性返回訪問者屏幕的高度,以像素計,減去界面特性,比如窗口任務(wù)欄

5)、 history對象

window.history 對象包含瀏覽器的歷史。為了保護用戶隱私,對 JavaScript 訪問該對象的方法做出了限制。

四window對象常用方法有

彈框類的方法。前面省略window

alert('提示信息')

confirm("確認信息")

prompt("彈出輸入框")

open("url地址",“打開的方式(可以是-self或-black)”,“新窗口的大小”)注:如果url為空,則默認打開一個空白頁面,如果打開方式為空,則默認為新窗口方式打開頁面。返回值為:返回新打開窗口的window對象

五、窗口尺寸與大小

可視區(qū)尺寸:? document.documentElement.clientWidth? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? document.documentElement.clientHeight


滾動條滾動距離: document.documentElement.clientScrollTop? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? document.documentElement.clientScrollLeft

Dom筆記

一、dom是什么?

對于JavaScript,為了能夠使JavaScript操作Html,JavaScript就有了一套自己的dom編程接口。

對于Html,dom使得html形成一棵dom樹,類似于一顆家族樹一樣,一層接一層,子子孫孫。


二、Html的DOM樹是什么?

HTML中的每個標簽元素,屬性,文本都能看做是一個DOM的節(jié)點,這些dom節(jié)點構(gòu)成了一個樹形結(jié)構(gòu)


三、原生的dom操作指的是什么?

就是用原生的js進行的操作,相對的就是非原生操作,比如用jquery操作dom

四.介紹Html的DOM樹:

說明:html標簽通過瀏覽器的解析后才會形成dom樹,此后HTML中的每個標簽元素,屬性,文本都能看做是一個DOM的節(jié)點,JavaScript都能通過dom的提供的編程接口操作到每個節(jié)點,去了解瀏覽器的渲染機制能夠幫助我們了解dom。

常用屬性:

獲取當前元素的父節(jié)點 :

element.parentNode? ? //返回當前元素的父節(jié)點對象

獲取當前元素的子節(jié)點:

element.chlidren? ? ? ? //返回當前元素所有子元素節(jié)點對象,只返回HTML節(jié)點

element.chilidNodes? //返回當前元素多有子節(jié)點,包括文本,HTML,屬性節(jié)點。(回車也會當做一個節(jié)點)

element.firstChild? ? ? //返回當前元素的第一個子節(jié)點對象

element.lastChild? ? ? //返回當前元素的最后一個子節(jié)點對象

獲取當前元素的同級元素:

element.nextSibling? ? ? ? ? //返回當前元素的下一個同級元素 沒有就返回null

element.previousSibling? //返回當前元素上一個同級元素 沒有就返回null

獲取當前元素的文本:

element.innerHTML? //返回元素的所有文本,包括html代碼

element.innerText? ? //返回當前元素的自身及子代所有文本值,只是文本內(nèi)容,不包括html代碼

獲取當前節(jié)點的節(jié)點類型:node.nodeType? //返回節(jié)點的類型,數(shù)字形式(1-12)常見幾個1:元素節(jié)點,2:屬性節(jié)點,3:文本節(jié)點。

設(shè)置樣式:element.style.color=“#eea”;? ? ? //設(shè)置元素的樣式時使用style,這里以設(shè)置文字顏色為例。

日期對象處理

一、創(chuàng)建日期對象

var date = new Date()

二、.獲取這個月總天數(shù)

var date = new Date()

date.setMonth(date.getMonth()+1, 0) // 設(shè)置為下個月0號也就是這個月最后一天

var allDays = date.getDate() // 最后一天是幾號這個月就有幾天

console.log(allDays)

三、設(shè)置時間的常用方法

setDate() 設(shè)置 Date 對象中月的某一天 (1 ~ 31)。

setMonth() 設(shè)置 Date 對象中月份 (0 ~ 11)。

setFullYear() 設(shè)置 Date 對象中的年份(四位數(shù)字)。

setYear() 請使用 setFullYear() 方法代替。

setHours() 設(shè)置 Date 對象中的小時 (0 ~ 23)。

setMinutes() 設(shè)置 Date 對象中的分鐘 (0 ~ 59)。

setSeconds() 設(shè)置 Date 對象中的秒鐘 (0 ~ 59)。

setMilliseconds() 設(shè)置 Date 對象中的毫秒 (0 ~ 999)。

setTime() 以毫秒設(shè)置 Date 對象。

四、獲取時間日期的方法

getDate() 從 Date 對象返回一個月中的某一天 (1 ~ 31)。 幾號

getDay() 從 Date 對象返回一周中的某一天 (0 ~ 6)。 星期幾

getMonth() 從 Date 對象返回月份 (0 ~ 11)。 月份?

getFullYear() 從 Date 對象以四位數(shù)字返回年份。 年份?

getHours() 返回 Date 對象的小時 (0 ~ 23)。 時

getMinutes() 返回 Date 對象的分鐘 (0 ~ 59)。 分

getSeconds() 返回 Date 對象的秒數(shù) (0 ~ 59)。 秒

getMilliseconds() 返回 Date 對象的毫秒(0 ~ 999)。 毫秒?

getTime() 返回 1970 年 1 月 1 日至

四、定義一個日期對象


使用關(guān)鍵詞new來定義一個Date對象,如下面例子中所示,定義一個名為myDate的日期對象:


var myDate=new Date()


注意:日期對象會自動取當前的日期和時間為初始值。

五、set方法   


    setFullYear(year, opt_month, opt_date) :設(shè)置Date對象的年份值;4位年份。

     setMonth(month, opt_date) :設(shè)置Date對象的月份值。0表示1月,11表示12月。

     setDate(date) :設(shè)置Date對象的月份中的日期值;值的范圍1~31 。

     setHours(hour, opt_min, opt_sec, opt_msec) :設(shè)置Date對象的小時值。

     setMinutes(min, opt_sec, opt_msec) :設(shè)置Date對象的分鐘值。

     setSeconds(sec, opt_msec) :設(shè)置Date對象的秒數(shù)值。

     setMilliseconds(msec) :設(shè)置Date對象的毫秒值。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容